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