永发信息网

在java里面如何实现同一用户不能同时异地登录

答案:2  悬赏:40  手机版
解决时间 2021-04-03 22:54
  • 提问者网友:孤凫
  • 2021-04-03 09:45
在java里面如何实现同一用户不能同时异地登录
最佳答案
  • 五星知识达人网友:逃夭
  • 2021-04-03 10:02
Session的机制(为了安全)决定了Session A不能获得Session B的信息,即Session之间是互相隔离的.

你可以在Login的时候,将当前登录的用户信息保存一份到Application中.
大致流程如下:
在Application放一个HashMap logins = new....
登录的时候 logins.put(userName,sessionId);
权限校验的时候
String sessionId = logins.get(userName);
if(request.getSession().getSessionId().equals(sessionId)){
//允许继续操作
}else{
//session.inValidate();//取消当前session的有效期.这个方法名我记不太清楚了.
//清空session里保存的内容,退出登录,返回到登录页面.
}

退出的时候,
logins.remove(userName);

大致流程如上,你可以仔细参考一下
全部回答
  • 1楼网友:長槍戰八方
  • 2021-04-03 10:59
最简单的方法,是设置单点登录即可
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯