【发布时间】:2019-05-23 13:27:15
【问题描述】:
我有一个基于 SpringBoot 并使用 Spring Security 进行登录和 Remember-Me 的 Web 应用程序,但是 Remember-Me 无法正常工作,并在客户端和服务器之间没有交互 1 小时后重置。
我已检查浏览器的 cookie 存储,remember-me cookie 已创建并且具有正确的到期日期(创建后 1 天)。第二个cookie: JSESSION 有过期=会话。我认为这是造成问题的原因。
+-------------+-----------+------+--------------------------------+
| Name | Domain | Path | Expires on |
+-------------+-----------+------+--------------------------------+
| JSESSIONID | 127.0.0.1 | / | session |
| remember-me | 127.0.0.1 | / | Tue, 25 Dec 2018 10:28:22 GMT |
+-------------+-----------+------+--------------------------------+
这是我记忆我的弹簧安全配置:
.and()
.rememberMe()
.key("secretKey")
.tokenValiditySeconds(60*60*24)
.rememberMeParameter("remember-me");
我希望一旦用户登录并选择了记住我选项,他/她将在接下来的 24 小时内无需再次登录。那么是否有可能将此 JSESSION 过期设置为等于记住我的 cookie?我使用注释驱动的 Spring Boot
【问题讨论】:
-
@dur 是的,在一个小时不活动(不发送任何请求)后,如果我点击任何链接,我会自动注销,因此最终会看到登录页面
标签: java spring spring-boot cookies spring-security