2017-01-05 2 views
0

У меня есть приложение Spring Boot. Необходимо отправить заголовок Authorization по каждому запросу, иначе запретить доступ к ресурсу.Spring Security отключить rememberMe не работает

Но если я сделал запрос с этим заголовком, я могу отправлять запросы без него и получать содержимое ресурса. Зачем? Где я ошибаюсь в коде?

конфигурации Spring Security:

@Configuration 
@EnableWebSecurity 
@EnableGlobalMethodSecurity(securedEnabled = true) 
public class SecurityConfig extends WebSecurityConfigurerAdapter { 

    @Override 
    protected void configure(HttpSecurity http) throws Exception { 
     http 
      .rememberMe().disable() 
      .csrf().disable() 
      .authorizeRequests().anyRequest().fullyAuthenticated().and() 
      .httpBasic().and() 
      .formLogin().disable() 
      .logout().disable(); 
    } 

    @Autowired 
    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception { 
     auth 
      .inMemoryAuthentication() 
      .withUser("1").password("1").roles("USER"); 
    } 
} 

Контроллер:

@RestController 
    public class FooController { 

     @RequestMapping("/foo") 
     public Bar bar() { 
      Bar bar = new Bar(); 
      return bar; 
     } 
    } 
+0

Возможно, ваш клиент отправляет сеансовый файл cookie. Вы можете использовать [SessionCreationPolicyl # STATELESS] (http://docs.spring.io/spring-security/site/docs/current/apidocs/org/springframework/security/config/http/SessionCreationPolicy.html#STATELESS), чтобы не использовать HTTP-сеанс для аутентификации. – dur

ответ

Смежные вопросы