我们有一个Spring-boot应用程序,它使用WebSecurityConfigurerAdapter.configure()通过以下方式处理表单登录
http.formLogin().loginPage("/login")
当浏览器点击任何GET映射时(通常),它将重定向到登录页面并在数据库中创建会话-我们正在使用spring session jdbc。
我们希望在用户成功登录之前尝试阻止这种情况。
我们尝试通过禁用root会话
http.antMatcher("/").sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS); // or NEVER
但是登录后需要会话,这样会产生其他问题。
是否存在可以延迟会话创建直到用户成功登录的配置?
答案 0 :(得分:0)
在谷歌搜索HttpSessionRequestCache中被击中的'setCreateSessionAllowed'时,我找到了这个答案,并发现了这个github问题,这与我看到的问题相同。
https://github.com/spring-projects/spring-security/issues/4242
解决方法是按照该github问题中的建议调用setCreateSessionAllowed(false)。