求各位高手,希望能给本人点现在互联网公司用的比较安全可靠的思路~求各位大大指导
解决方案
2
用户登陆时生成并分配一个id ,用户在别处登陆时判断id能否一致,即可限制一个账号多处登陆
4
没做过,不过本人有个 个人的小思路。
登录后将用户id存入application等全局作用域中,当然先判断application中能否存在本次要登录的帐号同id。
再定义好session listener监听session销毁,移除对应的application中的id就是了
登录后将用户id存入application等全局作用域中,当然先判断application中能否存在本次要登录的帐号同id。
再定义好session listener监听session销毁,移除对应的application中的id就是了
4
既然使用了redis,把用户id作为key,session id为vaule,每次请求比较session id能否一样,不一样这踢出,提示异地登录
4
好好好 再定义好session listener监听session销毁,移除对应的application中的id就是了
4
1. 设置状态位,已登陆,未登陆 ,异常退出,进行数据库操作,更改库里对应用户的状态位
2. 在服务器上维护一个map,以用户唯一标识为主键,值为session,登录时判断该用户能否已在,不在的话加入,已在的话将原session销毁,放入现有的session
2. 在服务器上维护一个map,以用户唯一标识为主键,值为session,登录时判断该用户能否已在,不在的话加入,已在的话将原session销毁,放入现有的session
2
解决方法很多,本人这里提供一个思路:
建一个全局缓存map<username,loginDate>,键值对为唯一用户名/登录时间
登陆时:
Date loginDate = new Date();
map.push(username,loginDate);
同时在session中存放一份登录时间
session.setAttribute(“userLoginDate”,loginDate);
然后建一个全局的过滤器,每次请求都判断下session中的loginDate跟全局缓存中的loginDate能否一致
假如用户在q
建一个全局缓存map<username,loginDate>,键值对为唯一用户名/登录时间
登陆时:
Date loginDate = new Date();
map.push(username,loginDate);
同时在session中存放一份登录时间
session.setAttribute(“userLoginDate”,loginDate);
然后建一个全局的过滤器,每次请求都判断下session中的loginDate跟全局缓存中的loginDate能否一致
假如用户在q