xuanling_132
发表于: 2018/11/23 18:14 引用 回复 只看该作者 1# TOP
江湖少侠
性别: 女
积分:314
阅读权限:300
帖子: 41
加入时间: 2012/5/30
最后登录: 2018/12/11

asp.net项目中怎么防止多用户同时登录同一个帐号,就类似QQ一样,一个帐号同一时间只能登录一次。要考虑用户非正常退出,比如直接关闭浏览器,浏览器异常关闭,电脑断电等情况。

关键词 修改tag
掷鸡蛋者
发表于: 2018/11/25 21:10 引用 回复 只看该作者 2# TOP
管理员
性别: 男
积分:52167
阅读权限:43379
帖子: 8315
加入时间: 2010/4/29
最后登录: 2018/12/12

我的理解,大概是这样吧:

一般用redis缓存,记录用户登录的状态(ip、agent等……)

当用户在其他终端登录的时候,更新redis中用户的状态;

如果用户在原来的终端继续刷新需要授权的页面,检测到登录状态发生变化,则原来的终端注销,强制原来的终端重新登录。

而死,不默而生

快速回复主题