什么是默认会话超时以及如何在使用Redis作为后端的Spring Session时配置它

bal*_*teo 15 session-timeout redis spring-session

我的应用程序目前使用Spring Session和Redis作为后端.

我搜索了Spring Session 的官方文档,但是在使用该模块时无法找到默认会话超时.

此外,我不知道如何在必要时更改默认超时.

有人可以建议吗?

tsa*_*hev 26

使用redis存储库时配置会话超时的最简单方法是

@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 60)
Run Code Online (Sandbox Code Playgroud)

会话在存储库中不再可用时到期.超时可以配置setDefaultMaxInactiveInterval(int)上都RedisOperationsSessionRepositoryMapSessionRepository.默认值为30分钟.

如果您使用的是spring boot,那么从版本1.3开始,它将自动将值与server.session.timeout应用程序配置中的属性同步.

请注意,使用spring会话时的一个缺点javax.servlet.http.HttpSessionListener是不会调用s.

如果您需要对会话过期事件做出反应,您可以订阅SessionDestroyedEventspring应用程序的应用程序事件.

  • 你的意思是30分钟? (2认同)

Fed*_*dor 7

server.session.timeout已弃用并server.servlet.session.timeout在 Spring Boot 2.0 中被替换。