限制一个账号同时只能在一处登陆
程序员文章站
2022-07-14 15:03:43
...
要限制账号只能在一处登陆,也就是后面登陆的将会迫使前面登陆的人退出,实现把前面的人挤下线的功能
实现思路很简单,就是在服务器端保存一个CurrentHashMap<String,Long> loginInfo
这个map的key是可以唯一标示一个账号的字符串,比如id,等等,value则是账号的登陆时间
同时已经登录的账号的session里面存放一个属性,该属性的值是本次登陆的时间
然后在web.xml中配置一个过滤器,每次请求都判断该账号的session里面的登录时间和服务器内存中存放的该账号的登录时间比较,如果session中的登录时间小于服务器内存中的登陆时间,则说明这次的登录时间比较早,就强迫其退出。
具体代码实现很简单,思路最重要