一个用户在同一时间只能登录一次

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

关键点有两点。

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

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

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

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

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

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

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

原文地址:https://www.cnblogs.com/cuihongyu3503319/p/15092482.html