是否有一种将会话创建延迟到用户成功登录之前的技术?

时间:2019-04-12 15:19:37

标签: spring-security spring-session

我们有一个Spring-boot应用程序,它使用WebSecurityConfigurerAdapter.configure()通过以下方式处理表单登录

http.formLogin().loginPage("/login")

当浏览器点击任何GET映射时(通常),它将重定向到登录页面并在数据库中创建会话-我们正在使用spring session jdbc。

我们希望在用户成功登录之前尝试阻止这种情况。

我们尝试通过禁用root会话

http.antMatcher("/").sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS); // or NEVER

但是登录后需要会话,这样会产生其他问题。

是否存在可以延迟会话创建直到用户成功登录的配置?

1 个答案:

答案 0 :(得分:0)

在谷歌搜索HttpSessionRequestCache中被击中的'setCreateSessionAllowed'时,我找到了这个答案,并发现了这个github问题,这与我看到的问题相同。

https://github.com/spring-projects/spring-security/issues/4242

解决方法是按照该github问题中的建议调用setCreateSessionAllowed(false)。