春季安全禁用记住我不起作用



我有Spring Boot应用程序。必须在每个请求上发送Authorization标头,否则拒绝对资源的访问。

但是,如果我一次使用此标头发出请求,我可以在没有它的情况下发送请求并接收资源内容。为什么?我在代码中哪里错了?

弹簧安全配置:

@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;
        }
    }
    http
        .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)

禁用创建会话。会话管理

最新更新