如何激活持久会话?

时间:2016-08-31 13:24:06

标签: spring spring-security spring-boot spring-security-oauth2

我应该在Spring Boot中做些什么来激活持久会话?

我试图在没有运气的情况下使用这些属性:

server.session.persistent=true
server.session.store-dir=/some/path/sessions

当我停止守护程序时,SESSIONS.cer存储目录上的文件 session 会在重新启动daemon时消失,但用户不会再次登录(进入登录页面)。

我的Spring启动项目是Oauth2 authorization server(我使用Spring Security Oauth2),与 Implicit grant 一起使用。该会话用于避免用户在请求令牌(/oauth/authorize)时重新键入其凭据(登录表单)。这是spring security oauth2

的默认行为

修改

我试着使用以下属性而没有运气:

server.tomcat.basedir=/tmp

2 个答案:

答案 0 :(得分:0)

对我来说,它没有用,因为我在会话中存储的对象不是Serializable。 检查一下。

答案 1 :(得分:0)

存储在会话中的对象必须实现Serializable以及固定的serialVersionUID。否则,JVM将为每个服务器部署分配一个随机的serialVersionUID。由于每个部署都不同,因此服务器将无法找到先前的会话并导致创建新的会话。

参考:

Why jvm generates serialVersionUID?