Springboot 应用程序会话超时

2022-09-04 20:53:21

我已经创建了一个SpringBoot MVC / Security应用程序1.2.2.RELEASE,我的应用程序.属性包含服务器设置,例如

#Tomcat port and contextPath details
server.port=8080
server.contextPath=/test
#server.session-timeout=120
server.sessionTimeout=120

文档说明

server.session-timeout= # session timeout in seconds

但是 ServerProperties.java 使用 sessionTimeout;

如果你看看我提出的 application.properties 代码,我已经独立尝试过,也可以一起尝试,但是我在 2 分钟后没有超时,我没有显式编写任何其他代码来执行任何会话处理。

有没有人遇到过这个问题?我错过了什么或做错了什么?


答案 1

我不知道由于某种原因只设置

server.session.timeout=120 

但是,当我设置会话超时和cookie最大年龄时,对我来说不起作用,如下所示:

server.session.cookie.max-age=120
server.session.timeout=120 

它完美地工作


答案 2

我不确定这个server.session.timeout是做什么的,因为当我将其设置为特定数字并监视会话创建时,会话到期时间不会更改。

我正在使用春季会话和redis集成,在我的情况下,我需要将maxInactiveIntervalInSeconds设置为120(秒),这可以通过redisHttpSessionConfiguration完成。

然后,如果我去redis寻找会话,我可以看到它的到期时间更改为120秒,会话超时工作。

我的一个建议是,尝试找出是否可以以编程方式或在属性文件中配置会话的 maxInactiveIntervalInSeconds(或类似),并监视会话更改。


推荐