Spring Boot忽略application.properties中会话超时配置问题求助
当使用spring-session-jdbc作为分布式会话存储时,Spring Session会完全接管容器的会话管理逻辑,你原本配置的server.servlet.session.*系列参数会被忽略,这就是配置不生效的核心原因。
修正后的配置项
将application.properties中的会话相关配置替换为Spring Session专属配置:
# Distributed Session Storage for use by stateless apps spring.session.store-type=jdbc spring.session.jdbc.initialize-schema=always # 设置会话超时时间,1d代表1天,支持h、m、s等单位 spring.session.timeout=1d # 配置Cookie为持久化,同时设置SameSite属性 spring.session.cookie.max-age=1d spring.session.cookie.same-site=strict
验证与额外检查
- 查看数据库
spring_session表的EXPIRY_TIME字段,新创建的会话该字段值应为当前时间加上1天的时间戳,以此确认超时配置生效。 - 先清除浏览器中旧的会话Cookie再测试,避免旧Cookie干扰新配置的生效。
- 若你的Spring Boot版本低于2.4,
spring.session.timeout需要使用毫秒值,比如86400000来表示1天。
内容的提问来源于stack exchange,提问作者Michael Conrad
相关产品推荐
相关产品推荐

