我試圖阻止多個記錄我的應用程序,對此我使用這種方法:不要允許用戶多次登錄
在我第一次用戶登錄保存在一個會話的用戶,第二次用戶嘗試再次登錄,我首先檢查會話,如果會話已經有相同的用戶,我不允許用戶再次登錄。
此方法在同一瀏覽器中工作良好,但是如果我嘗試再次登錄同一用戶從另一個瀏覽器,它允許多個登錄,因爲會話中沒有任何內容。
如果我嘗試從其他計算機登錄,則會發生同樣的問題。
請建議。 感謝
這裏是我有
User user = (User) rdbHelper.getAuthentication(userid, password);
if(user!=null)
{
session=getThreadLocalRequest().getSession(true);
User loggedInUser = (User) session.getAttribute("user");
if(user.getId() == loggedInUser.getId()){
user.setId(0); // making user null and stopping user to login
}else{
session=getThreadLocalRequest().getSession(true);
session.setAttribute("user", user); // allow user to sing in
}
這不能用僅僅一個會話來完成,但是你需要在數據庫中存儲IP地址,並且基於你需要檢查 –