重启后 Spring Security 仍然经过身份验证(但没有会话)

Posted

技术标签:

【中文标题】重启后 Spring Security 仍然经过身份验证(但没有会话)【英文标题】:Spring Security still authenticated after restart (but no session) 【发布时间】:2019-03-22 03:38:38 【问题描述】:

我正在使用 spring boot 来启动一个 spring 应用程序。我发现如果我的用户已登录并且我需要重新启动 Spring Boot 应用程序,则用户似乎保持登录状态,至少基于此代码返回 true:

<script sec:authorize="isAuthenticated()" th:inline="javascript">

但是,用户的会话是空的,并且我通常用来构建一些本地会话数据的代码,我的 AuthSuccessHandler 的 onAuthenticationSuccess 方法没有被调用。

我可能会找到一些创造性的方法来解决这个问题,但我想了解正在发生的事情以及什么是正确的解决方案。

【问题讨论】:

【参考方案1】:

想通了 - 在我的 application.yml 中我只需要:

server.servlet.session:
  persistent: false 

【讨论】:

以上是关于重启后 Spring Security 仍然经过身份验证(但没有会话)的主要内容,如果未能解决你的问题,请参考以下文章

Spring-security:即使在 JVM 重启后也能保持活动会话

添加“spring-security-taglibs”后jsp中仍然报错:找不到spring security标签的标签库描述符

Tomcat 重启后 Spring Security 主体未完全填充

Spring Security:服务器重启后身份验证保持不变

如何在不重启 Spring Boot 的情况下使用 Spring Security 添加新用户

Spring Security、Spring MVC 和登录会话