短暂的& MaxAge for express-session

时间:2016-06-03 18:17:07

标签: express session-cookies express-session

我正在尝试在express-js应用程序中使用express-session包进行会话管理。

我有以下要求:

  1. 当浏览器关闭时,Cookie会被客户端破坏。
  2. Cookie在空闲时间15分钟后被销毁。
  3. 自创建以来3小时后Cookie被销毁(无论活动如何)。
  4. (数字只是例子)。

    我可以通过最大限度地操作cookie maxAge来处理空闲时间。但是,当我阅读快速会话文档时,我看到:

      

    默认情况下,cookie.maxAge为null,表示没有"到期"参数是   设置,以便cookie成为浏览器会话cookie。当用户   关闭浏览器将删除cookie(和会话)。

    那么,我该如何创建一个"浏览器会话"还有maxAge的cookie(用于空闲/绝对超时)?

    我还使用node-client-session package进行了调查,但它不允许使用短暂和maxAge。

1 个答案:

答案 0 :(得分:0)

找到这个问题并希望同时拥有会话超时和临时会话后,我已经完成了此操作。这是我在实际应用程序中所做的工作。

我在我的Express-Session配置中使用maxAge,然后在我的客户端/ Web应用程序代码中,挂接了浏览器事件“ onbeforeunload”。 onbeforeunload info

它不是万无一失的,并且有一些浏览器怪癖,但是当onbeforeunload发生火灾时,我使用它向服务器发送ajax请求以“注销”并终止会话。

现在重要的是要问自己,这样做对用户体验(UX)和会话体验的预期行为有何影响。如果您要进行短暂会话,那么它将用于特定的应用程序,只要打开浏览器,您就可以在其中使用某些内容。这也可以在较短的会话年龄内完成。我们必须考虑实现此目标的目的。