如何在Spring Boot 2.0中为匿名用户禁用会话?
我当前的配置:
public static class FormLoginWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/actuator/**").permitAll()
.antMatchers("/password/forgot/**").permitAll()
.antMatchers("/password/reset/**").permitAll()
.antMatchers("/css/**").permitAll()
.antMatchers("/js/**").permitAll()
.antMatchers("/img/**").permitAll()
.antMatchers("/manage/**").permitAll()
.antMatchers( "/favicon.ico").permitAll()
.anyRequest().authenticated();
http
.formLogin()
.loginPage("/login")
.permitAll()
.successHandler(authSuccessHandler)
.and()
.logout().logoutRequestMatcher(new AntPathRequestMatcher("/logout")).logoutSuccessUrl("/login")
.invalidateHttpSession(true)
.permitAll();
}
}
当我打开登录页面时,仍然创建了一个会话:
答案 0 :(得分:0)
也许会话是由Spring Security自动创建的。可以通过将create-session
设置为never
来禁用该行为。这意味着Spring Security将不会尝试自动创建会话。
<http create-session="never">
[...]
</http>
答案 1 :(得分:0)
尝试在FormLoginWebSecurityConfigurerAdapter类中的http之后添加“ anonymous.disable()”。
.skip
享受!
答案 2 :(得分:0)
就我而言,我必须做三件事:
http.anonymous.disable()
添加到我的WebSecurityConfigurerAdapter。http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.NEVER)
。我不知道为什么,但是尽管文档说它永远不会为您创建会话,但这确实会为经过身份验证的用户创建会话。SessionCreationPolicy
。