如何使用Node.js express会话处理唯一会话(一个用户会话)?

如何使用Node.js express会话处理唯一会话(一个用户会话)?,node.js,express,session,Node.js,Express,Session,我需要你的帮助来解决下面的问题 如何防止用户同时从两个不同的浏览器登录系统 假设用户已登录Firefox,如果同一用户再次从同一台或不同机器上的其他浏览器(如Chrome)登录,则Firefox上的会话应被销毁,并且用户应在Chrome中保持活动状态 我正在Node.js中使用express会话 我需要某种类型的数据库来存储会话,还是可以单独使用express会话来实现 焦急地等待您的建议@Gurpinder您必须为此使用DB。确保具有唯一定义用户的唯一元素。对于该特定用户,在DB中的唯一Id旁

我需要你的帮助来解决下面的问题

如何防止用户同时从两个不同的浏览器登录系统

假设用户已登录Firefox,如果同一用户再次从同一台或不同机器上的其他浏览器(如Chrome)登录,则Firefox上的会话应被销毁,并且用户应在Chrome中保持活动状态

我正在Node.js中使用express会话

我需要某种类型的数据库来存储会话,还是可以单独使用express会话来实现


焦急地等待您的建议

@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步:创建一个新会话。

任何人都可以在此查询中提供一些信息