【发布时间】:2015-01-02 03:10:13
【问题描述】:
我的会话出现了一些问题,当我关闭浏览器时会话过期。我不想那样。
我尝试设置 maxAge 和/或过期日期,但每次我重新启动浏览器时,该会话都消失了。据我了解,如果我有 maxAge,它不应该在我关闭浏览器时过期,我错了吗?
这是我的登录功能,如果成功,我会在其中设置会话。
登录:
login: function(req, res) {
// A bunch of checks
..
if(success) {
//req.session.cookie.expires = newDate;
req.session.cookie.maxAge = 60 * 60 * 1000;
req.session.authenticated = true;
res.json(req.session);
}
}
每次我打开我的应用程序时,我都会在下面运行这个函数,以查看会话是否处于活动状态。如果我刷新页面,甚至关闭选项卡,它会很好。然后会话仍然存在,我仍然登录。 但是,当我关闭它时,它就像风一样消失了:)
sessionCheck:
sessionCheck: function(req, res, next) {
console.log(req.session); // Has expired on browser close.
if(req.session.authenticated) {
res.json(req.session);
} else {
..
}
}
我的错误所在有什么想法吗?还是我误解了会话在这里的工作方式?如果是这样,任何指针表示赞赏。
目标::想要在浏览器重启时保持会话。
【问题讨论】: