2017-01-31 3 views
2

나머지 API를 만들고 구현 된 스프링 보안 - 모든 것이 잘 작동하지만 승인을받지 않고 누구나 사용할 수 있도록 (지금은 아직 개발 중일 때) 원합니다. localhost : 8080/console을여십시오. 내 코드 :H2 콘솔 및 스프링 보안 - permitAll() 작동하지 않음

@Override 
protected void configure(HttpSecurity http) throws Exception { 
    // allow everyone to register an account; /console is just for testing 
    http.authorizeRequests().antMatchers("/register", "/console").permitAll(); 

    http.authorizeRequests().anyRequest().fullyAuthenticated(); 

    // making H2 console working 
    http.headers().frameOptions().disable(); 

    /* 
    https://docs.spring.io/spring-security/site/docs/current/reference/html/csrf.html#when-to-use-csrf-protection 
    for non-browser APIs there is no need to use csrf protection 
    */ 
    http.csrf().disable(); 
} 

은 정말 이상한 무엇 - 로컬 호스트 : 8080/레지스터는 모든 인증이 필요하지 않지만/콘솔 반환 :

{ 
"timestamp": 1485876313847, 
"status": 403, 
"error": "Forbidden", 
"message": "Access Denied", 
"path": "/console" 
} 

누구나 그것을 해결하는 방법을 알고?

답변

1

이와 비슷한 구성이 있습니다. 해볼 수 있니? 이 너무 좋은 작품

http.headers().frameOptions().disable(); 
+1

, 필요()하지만 .authorazieRequests을 두 배로 없습니다 :

http .authorizeRequests() .antMatchers("/register").permitAll() .and() .authorizeRequests() .antMatchers("/console/**").permitAll(); 
doublemc

0

나는에 의해 내 문제를 해결했다. 'http.authorizeRequests(). antMatchers ("/ register", "/ console/**"). permitAll();'