在java里面如何實(shí)現(xiàn)同一用戶(hù)不能同時(shí)異地登錄
鴻蒙傳說(shuō)
2018-07-13 15:15:36
TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超6個(gè)贊
Session的機(jī)制(為了安全)決定了Session A不能獲得Session B的信息,即Session之間是互相隔離的. 你可以在Login的時(shí)候,將當(dāng)前登錄的用戶(hù)信息保存一份到Application中. 大致流程如下: 在Application放一個(gè)HashMap<String [userName],String[SessionId]> logins = new.... 登錄的時(shí)候 logins.put(userName,sessionId); 權(quán)限校驗(yàn)的時(shí)候 String sessionId = logins.get(userName); if(request.getSession().getSessionId().equals(sessionId)){ //允許繼續(xù)操作 }else{ //session.inValidate();//取消當(dāng)前session的有效期.這個(gè)方法名我記不太清楚了. //清空session里保存的內(nèi)容,退出登錄,返回到登錄頁(yè)面. } 退出的時(shí)候, logins.remove(userName); 大致流程如上,你可以仔細(xì)參考一下
舉報(bào)