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

时间:2020-01-21 13:03:03

标签: node.js express session

我需要您的帮助才能获得以下查询的解决方案

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

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

我正在Node.js中使用快速会话

我是否需要某种数据库来存储会话,或者仅通过快速会话即可实现?

焦急地等待您的建议

1 个答案:

答案 0 :(得分:0)

@Gurpinder 你必须为此使用数据库。确保您拥有唯一定义用户的唯一元素。对于该特定用户,将 sessionId 与 DB 中的唯一 ID 一起映射。

一旦具有相同的唯一 ID,就会发出另一个登录请求。销毁上一个会话并保存新会话。

假设我们有一个名为 Session 的表/集合,一旦登录完成,请执行以下操作。

type FuncWithA = ((string)=>void) & { a: string }

第 1 步:查找会话是否已存在

第 2 步:如果存在则删除

第 3 步:创建一个新会话。