【问题标题】:How to detect the session is expired or not in node.js如何在node.js中检测会话是否过期
【发布时间】:2013-09-23 22:25:56
【问题描述】:

我的网站有一个 node.js 实时聊天系统。默认情况下,用户的会话将在 30 秒后过期,除非他们调用某些函数让服务器知道他们仍然在线,然后服务器将延长他们的会话。

但是,我发现会话在过期后不会被删除。当我调用函数时:

Hub.prototype.find = function(username, fn) {
    for(var sid in this.sessions) {
        var session = this.sessions[sid],   //session still found even expired...
            sess_username = session.data('username');
        if(sess_username == username) {
            fn(session);
            return;
        }
    }
    fn(false);
};

现在即使会话过期,仍然可以找到“会话”。为什么?如何在条件中写入,以便它不会找到任何过期的会话?

非常感谢!

【问题讨论】:

    标签: javascript node.js session


    【解决方案1】:

    确保在您希望会话过期时使用req.session.destroy(),以便将其删除。

    希望对你有帮助!

    【讨论】:

    • 谢谢 我也想这样做,但是会话本身会过期,在这种情况下我不知道如何销毁它。运行一个 cron?
    • 确实没有必要删除会话,只要确保会话没有过期,然后再在您的应用中访问即可。
    猜你喜欢
    • 2013-05-25
    • 2017-05-01
    • 2015-03-22
    • 1970-01-01
    • 2016-11-20
    • 2012-05-15
    • 2011-01-05
    • 2019-08-20
    • 1970-01-01
    相关资源
    最近更新 更多