应用程序属性“server.servlet.session.timeout”在 Spring Boot 项目中不起作用

2022-09-04 19:29:40

根据Spring Boot的文档,会话超时可以通过设置来配置

server.servlet.session.timeout= 300s

在文件中。在这篇文章Spring Boot文档中,也这样说。但不幸的是,这对我不起作用。application.properties

是否有任何其他配置可以获得预期结果?


答案 1

您可以使用方法 1:

server.servlet.session.timeout=30s
server.servlet.session.cookie.max-age=30s

它对我来说工作正常


答案 2

此问题的可能原因可能是使用 。如以下答案所述:@EnableRedisHttpSession

通过使用@EnableRedisHttpSession您告诉Spring Boot,您希望完全控制基于Redis的HTTP会话的配置。因此,它的自动配置会回退,而 server.servlet.session.timeout 则不起作用。如果你想使用server.servlet.session.timeout,那么你应该删除@EnableRedisHttpSession。或者,如果要使用@EnableRedisHttpSession则应使用 maxInactiveIntervalInSeconds 属性来配置会话超时。

希望这有助于某人。


推荐