我的网站有一个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);
};
现在即使会话过期,仍然可以找到“会话”。为什么?如何写入条件以便找不到任何过期的会话?
非常感谢!
答案 0 :(得分:0)
确保您希望会话过期时使用req.session.destroy()
,以便将其删除。
希望它有所帮助!