【问题标题】:Express connect session expiry not working as expected快速连接会话到期未按预期工作
【发布时间】:2012-11-25 07:50:46
【问题描述】:

在使用 express.js 开发的 Web 应用程序中,当用户超过 10 分钟未处于活动状态时,会出现会话过期问题。我正在使用 connect-couchdb 作为会话存储。

我尝试设置 req.session.cookie.maxAge = 600000。但这会导致会话在登录后 10 分钟过期,无论用户活动如何。我对文档的理解是 req.session.touch() 将由连接中间件自动调用,因此 maxAge (和到期日期)应该被刷新,所以它会再持续 10 分钟,但它没有发生!!

我也尝试在每个请求上将 maxAge 设置为 600000 并调用 req.session.save() 但即使这样也没有效果。

我做错了什么?

【问题讨论】:

  • 我遇到了同样的问题。尽管它通过 touch 刷新 maxage 值,但它实际上并没有向浏览器发送标头来刷新 cookie。你有没有发现问题?
  • @Zaptree:很抱歉延迟回复。问题还没有解决,暂时不是高优先级!但是看到对此缺乏回应,我不知何故认为正在做一些愚蠢的事情让别人甚至指出:-)

标签: session express connect


【解决方案1】:

您没有做错任何事——这是 Connect 中的一个错误。会话 cookie 在服务器中更新,但没有推送到客户端,因此客户端一直尝试使用旧的 cookie,它会比你想要的更早过期。

更多细节和讨论here

【讨论】:

  • 非常感谢您提供此信息 :-)
猜你喜欢
  • 1970-01-01
  • 2016-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-03
  • 1970-01-01
  • 2013-08-06
相关资源
最近更新 更多