Node.js nodejs&;从sessionStore快速删除会话
我需要检查用户是否已从另一台电脑登录,如果已登录,请终止上一个会话 以下代码在执行时不会抛出任何错误,但是我无法通过调用会话存储上的destroy()或使用delete从会话存储中删除会话id来结束第一个会话 如何使用会话id终止用户的会话Node.js nodejs&;从sessionStore快速删除会话,node.js,Node.js,我需要检查用户是否已从另一台电脑登录,如果已登录,请终止上一个会话 以下代码在执行时不会抛出任何错误,但是我无法通过调用会话存储上的destroy()或使用delete从会话存储中删除会话id来结束第一个会话 如何使用会话id终止用户的会话 function test(user_id){ var ss = sessionStore.sessions; for(var sid in ss){ var ses = JSON.parse(ss[sid]); if(ses.us
function test(user_id){
var ss = sessionStore.sessions;
for(var sid in ss){
var ses = JSON.parse(ss[sid]);
if(ses.user_id==user_id) {
console.log('kill:'+sid)
delete ss[sid];
sessionStore.destroy(sid,function(x){});
}
}
}
试试这个:
req.session.destroy()代码>
这就是4.x express中的工作原理
因此,在您的情况下,请执行ss[sid].destroy()代码>尝试使用此代码,这将破坏用户的会话详细信息并注销用户
if (req.session) {
// delete session object
req.session.destroy(function(err) {
if(err) {
return next(err);
} else {
req.session = null;
console.log("logout successful");
return res.redirect('/');
}
});
}
您可以console.log
destroy回调中的x
值吗?谢谢,但我要做的是注销其他用户,而不是当前用户,请查看我的代码,其中为函数提供了用户id。您使用的是MongoDB吗?如果是这样,您可以使用connect mongo将用户ID保存在会话集合中。您可以使用用户id从该集合中删除用户会话