我正在尝试在express-js应用程序中使用express-session包进行会话管理。
我有以下要求:
(数字只是例子)。
我可以通过最大限度地操作cookie maxAge来处理空闲时间。但是,当我阅读快速会话文档时,我看到:
默认情况下,cookie.maxAge为null,表示没有"到期"参数是 设置,以便cookie成为浏览器会话cookie。当用户 关闭浏览器将删除cookie(和会话)。
那么,我该如何创建一个"浏览器会话"还有maxAge的cookie(用于空闲/绝对超时)?
我还使用node-client-session package进行了调查,但它不允许使用短暂和maxAge。
答案 0 :(得分:0)
找到这个问题并希望同时拥有会话超时和临时会话后,我已经完成了此操作。这是我在实际应用程序中所做的工作。
我在我的Express-Session配置中使用maxAge,然后在我的客户端/ Web应用程序代码中,挂接了浏览器事件“ onbeforeunload”。 onbeforeunload info
它不是万无一失的,并且有一些浏览器怪癖,但是当onbeforeunload发生火灾时,我使用它向服务器发送ajax请求以“注销”并终止会话。
现在重要的是要问自己,这样做对用户体验(UX)和会话体验的预期行为有何影响。如果您要进行短暂会话,那么它将用于特定的应用程序,只要打开浏览器,您就可以在其中使用某些内容。这也可以在较短的会话年龄内完成。我们必须考虑实现此目标的目的。