陋室铭
永远也不要停下学习的脚步(大道至简至易)

posts - 2169,comments - 570,views - 413万

web开发一个用户在同一时间只能登录一次,最后登陆用户会踢掉之前的用户。

关键点有两点。

1.每个登陆都需要有个“唯一值”作为识别号。

2.退出登陆模式:自己踢自己。

 

简单实现,就是用户每次登陆,存储UserID与“唯一值”可存储在Application中Cache,或者数据库等保存也可以

然后每次用户登陆都修改这个UserID中的“唯一值”(如果没有登陆就是新建登陆信息),也就是UserID中的“唯一值”永远都是最新登陆的值。

然后用户每次操作都判断UserID中的“唯一值”是否与最新的“唯一值”相同,如果不同,那么自己把自己踢掉(就是退出登陆)

这样就能保持一个用户永远是最后登陆的用户在线,其他此登陆的都会被退出登陆。

 

注:这里有个问题,如果用户登陆信息是存储在session,如果是同时在两个端登陆,然后同时过期,那么此时谁后登陆,谁就会把前面的踢掉。

 

posted on   宏宇  阅读(474)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
历史上的今天:
2009-08-03 文件夹选择对话框 JS实现(转)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示