如何使用Node.js express会话处理唯一会话(一个用户会话)?
我需要你的帮助来解决下面的问题 如何防止用户同时从两个不同的浏览器登录系统 假设用户已登录Firefox,如果同一用户再次从同一台或不同机器上的其他浏览器(如Chrome)登录,则Firefox上的会话应被销毁,并且用户应在Chrome中保持活动状态 我正在Node.js中使用express会话 我需要某种类型的数据库来存储会话,还是可以单独使用express会话来实现如何使用Node.js express会话处理唯一会话(一个用户会话)?,node.js,express,session,Node.js,Express,Session,我需要你的帮助来解决下面的问题 如何防止用户同时从两个不同的浏览器登录系统 假设用户已登录Firefox,如果同一用户再次从同一台或不同机器上的其他浏览器(如Chrome)登录,则Firefox上的会话应被销毁,并且用户应在Chrome中保持活动状态 我正在Node.js中使用express会话 我需要某种类型的数据库来存储会话,还是可以单独使用express会话来实现 焦急地等待您的建议@Gurpinder您必须为此使用DB。确保具有唯一定义用户的唯一元素。对于该特定用户,在DB中的唯一Id旁
焦急地等待您的建议@Gurpinder您必须为此使用DB。确保具有唯一定义用户的唯一元素。对于该特定用户,在DB中的唯一Id旁边映射sessionId 使用相同的唯一Id后,将发出另一个登录请求。销毁上一个会话并保存新会话 假设我们有一个名为Session的表/集合,登录完成后执行以下操作
Session.find({
userId : userData.userId
}).remove(function (error, result) {
if (error) {
logger.error(error);
callback(null);
}
else{
that.storeSession(userData, callback);
}
});
步骤1:查找会话是否已存在
步骤2:删除(如果存在)
第3步:创建一个新会话。任何人都可以在此查询中提供一些信息