【问题标题】:Refresh expiration of cookie of session in spring boot在春季启动中刷新会话cookie的到期
【发布时间】:2020-11-26 17:48:20
【问题描述】:

我正在解决 cookie 过期问题,其中包含与给定用户的会话信息。

我试过这个解决方案:

refresh cookie on each request in spring

但条件cookie.getValue().contentEquals(request.getSession().getId())永远不会通过

我们的案例:我们将用户会话存储在 redis 中,它有一些过期时间(例如 30 分钟)

在春天,我们已经像这样配置了 cookie:

spring.session.timeout=1d
server.servlet.session.cookie.secure=true
server.servlet.session.cookie.http-only=true
server.servlet.session.cookie.max-age=1d

当用户在网站上工作时,会话的过期时间会更新,但 cookie 有固定的过期时间 1d,所以在某些时候删除所有用户数据。我们需要通过会话设置这个 cookie 的过期时间,或者自动更新它。可能吗?我们正在使用引导 2。

【问题讨论】:

    标签: spring-boot session cookies session-cookies spring-session


    【解决方案1】:

    默认情况下,每个 cookie 都充当会话 cookie,这意味着一旦会话结束 cookie 就会过期(基本上是在浏览器关闭时)。但是您通过添加 server.servlet.session.cookie.max-age=1d 覆盖默认行为并使其成为永久 cookie 删除该属性,它应该可以工作

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-21
      • 1970-01-01
      • 1970-01-01
      • 2013-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-21
      相关资源
      最近更新 更多