SailsJS - 会话maxAge / expires

时间:2015-01-02 03:10:14

标签: session sails.js

我的会话存在一些问题,当我关闭浏览器时,会话会过期。我不希望这样。

我尝试设置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 {
        ..
    }
}

我的错误所在的任何想法?或者我误解了会话如何在这里工作?如果是这样,任何指针都表示赞赏。

目标::希望在重新启动浏览器时保持会话。

1 个答案:

答案 0 :(得分:0)

你可以保持会话使用redis / mongo / cookie,看看config / session.js,你应该在config / local.js覆盖它。