当前位置: 代码迷 >> J2EE >> J2EE信息管理系统怎么限制同一账号多处登录
  详细解决方案

J2EE信息管理系统怎么限制同一账号多处登录

热度:43   发布时间:2016-04-17 23:07:40.0
J2EE信息管理系统如何限制同一账号多处登录
求各位大神,希望能给我点现在互联网公司用的比较安全可靠的思路~求各位大大指导 
------解决思路----------------------
用户登陆时生成并分配一个id ,用户在别处登陆时判断id是否一致,即可限制一个账号多处登陆
------解决思路----------------------
没做过,不过我有个 个人的小思路。
登录后将用户id存入application等全局作用域中,当然先判断application中是否存在本次要登录的帐号同id。
再定义好session listener监听session销毁,移除对应的application中的id就是了
------解决思路----------------------
既然使用了redis,把用户id作为key,session id为vaule,每次请求比较session id是否一样,不一样这踢出,提示异地登录
------解决思路----------------------
好好好       再定义好session listener监听session销毁,移除对应的application中的id就是了     
------解决思路----------------------
1.  设置状态位,已登陆,未登陆 ,异常退出,进行数据库操作,更改库里对应用户的状态位
2. 在服务器上维护一个map,以用户唯一标识为主键,值为session,登录时判断该用户是否已在,不在的话加入,已在的话将原session销毁,放入现有的session
------解决思路----------------------
解决方法很多,我这里提供一个思路:
建一个全局缓存map<username,loginDate>,键值对为唯一用户名/登录时间

登陆时:
Date loginDate = new Date();
map.push(username,loginDate);
同时在session中存放一份登录时间
session.setAttribute("userLoginDate",loginDate);

然后建一个全局的过滤器,每次请求都判断下session中的loginDate跟全局缓存中的loginDate是否一致

如果用户在q
  相关解决方案