導航:首頁 > 編程語言 > java用戶重復登錄

java用戶重復登錄

發布時間:2022-11-20 22:01:25

① 你好,java web中,關於用戶重復登錄的問題

登錄的用戶id放到application中,session結束有超期結束,有用戶點擊退出結束,結束後就從application刪除用戶id。

② java web 開發用戶重復登陸和注銷問題

雖然我是PHP的web開發,但是,你這問題我還是能幫上忙的。

首先,你這里「如果在線則不能登陸」,這樣對用戶體驗是不好的,如果檢測為在線,按正常流程將用戶引導就好了,並不是彈個窗或跳轉個頁面,說「你已在線,不能登錄」,如果你是用戶,不怎麼想?

2,的確有很多的用戶在退出時都不是按「退出」鍵,而是直接關閉瀏覽器,這時你可以在記錄在線用戶的表裡加入一列,記錄用戶的最後刷新時間,若超出了你規定的時間范圍就將該用戶踢下線。比如你規定的時間是20分鍾,如果某用戶的最後刷新時間超出了20,那麼。。。。

希望能幫到你。

③ JAVA 如何避免用戶的重復登錄

讀懂下面代碼,就知道如何實現 一個用戶登陸 踢掉之前登陸的用戶了

//第一步

//此監聽器用來監聽用戶在對session做操作的時候執行相應的方法

importjavax.servlet.http.HttpSession;
importjavax.servlet.http.HttpSessionAttributeListener;
importjavax.servlet.http.HttpSessionBindingEvent;
importjavax.servlet.http.HttpSessionEvent;
importjavax.servlet.http.HttpSessionListener;
importjava.util.*;

,
HttpSessionAttributeListener{

//保存當前登錄的所有用戶
publicstaticMap<HttpSession,Long>loginUser=
newHashMap<HttpSession,Long>();

//用這個作為session中的key

publicstaticStringSESSION_LOGIN_NAME="user_id_key";

//session創建時調用這個方法
publicvoidsessionCreated(HttpSessionEventarg0){

}

//Session失效或者過期的時候調用的這個方法,
publicvoidsessionDestroyed(HttpSessionEventse){
//如果session超時,則從map中移除這個用戶
try{
loginUser.remove(se.getSession());
}catch(Exceptione){
e.printStackTrace();
}

}

//執行setAttribute的時候,當這個屬性本來不存在於Session中時,調用這個方法.
publicvoidattributeAdded(HttpSessionBindingEventse){
//如果添加的屬性是用戶名,則加入map中
if(se.getName().equals(SESSION_LOGIN_NAME)){
loginUser.put(se.getSession(),Long.valueOf(se.getValue().toString()));
}

}

//當執行removeAttribute時調用的方法
publicvoidattributeRemoved(HttpSessionBindingEventse){
//如果移除的屬性是用戶名,則從map中移除
if(se.getName().equals(SESSION_LOGIN_NAME)){
try{
loginUser.remove(se.getSession());
}catch(Exceptione){
}
}

}

//當執行setAttribute時,如果這個屬性已經存在,覆蓋屬性的時候,調用這個方法
publicvoidattributeReplaced(HttpSessionBindingEventse){
//如果改變的屬性是用戶名,則跟著改變map
if(se.getName().equals(SESSION_LOGIN_NAME)){
loginUser.put(se.getSession(),Long.valueOf(se.getValue().toString()));
}
}

//別忘了到你的web.xml中去配置一下listener

//第二步

//寫一個判斷用戶是否已經登陸的方法

publicbooleanisLogonUser(LonguserId){
Set<HttpSession>keys=SessionListener.loginUser.keySet();
for(HttpSessionkey:keys){
if(SessionListener.loginUser.get(key).equals(userId)){
returntrue;
}
}
returnfalse;
}//第三步

//在用戶登陸的action.method,或者是loginServlet.doGet/doPost中

//判斷用戶名、密碼都OK後,再調用第二步的方法,參數為用戶ID;true則表示該用戶已經登陸

//第四步

//用戶窗口關閉/或者用戶退出的時候,*一定要request.getSession().invalidate()

//用戶窗口關閉js

//關閉窗口時調用此方法
functionwindow.onunload(){
if((window.screenLeft>=10000&&window.screenTop>=10000)||event.altKey)
{
//清除當前session,使用jquery提供的方法

$.post("${base}/ClearSession.wp");

//[${base}/ClearSession.wp]這是一個請求,

//請求到自己寫的ClearSessionServlet

//在此ClearSessionServlet中重寫doPost方法,
//內容為request.getSession().invalidate()

}

④ java web 開發用戶重復登陸和注銷問題

雖然我是PHP的
web開發
,但是,你這問題我還是能幫上忙的。
首先,你這里「如果在線則不能登陸」,這樣對用戶體驗是不好的,如果檢測為在線,按正常流程將用戶引導就好了,並不是彈個窗或跳轉個頁面,說「你已在線,不能登錄」,如果你是用戶,不怎麼想?
2,的確有很多的用戶在退出時都不是按「退出」鍵,而是直接關閉瀏覽器,這時你可以在記錄在線用戶的表裡加入一列,記錄用戶的最後刷新時間,若超出了你規定的時間范圍就將該用戶踢下線。比如你規定的時間是20分鍾,如果某用戶的最後刷新時間超出了20,那麼。。。。
希望能幫到你。

⑤ java如何實現重復登錄強制下線功能

登錄之後,更具用戶名,密碼,登錄時間等用某種演算法生成唯一不可破譯的編碼字元串token(每次登錄不同),設置唯一,以後的任何操作都用這個token進行驗證。這樣每次能保證有且只有一個用戶

⑥ java web 開發用戶重復登陸和注銷問題

雖然我是PHP的web開發,但是,你這問題我還是能幫上忙的。
首先,你這里「如果在線則不能登陸」,這樣對用戶體驗是不好的,如果檢測為在線,按正常流程將用戶引導就好了,並不是彈個窗或跳轉個頁面,說「你已在線,不能登錄」,如果你是用戶,不怎麼想?
2,的確有很多的用戶在退出時都不是按「退出」鍵,而是直接關閉瀏覽器,這時你可以在記錄在線用戶的表裡加入一列,記錄用戶的最後刷新時間,若超出了你規定的時間范圍就將該用戶踢下線。比如你規定的時間是20分鍾,如果某用戶的最後刷新時間超出了20,那麼。。。。
希望能幫到你。

⑦ java web用戶重復登錄問題

最簡單的做法:
你可以在資料庫表中增加一個欄位,loginStatus(命名就隨便了)就設置2個值把 1和2(隨便什麼都行)一個用戶登錄的時候,如果loginStatus的值是1,則將其更改為2 如果是2,則更改為1這時候,將更改後的值存儲在session中,則每次進行有關用戶操作的時候, 都去表中查看loginStatus的值跟你session中的值是否相同如果不相同,則將session存儲的用戶信息remove掉你會很奇怪,為什麼會不同,很簡單:如果此時,另外一個人登錄的時候,走的是相同的業務邏輯,這時候會把loginStatus的值更改。則前一個登錄的人session中存儲的loginStatus當然就不一樣了

⑧ Java 如何控制用戶重復登陸

如果你想讓後來的登錄者把前一個登錄者踢下線,則需要存儲session ID,用戶名可以存在資料庫,也可以使用保存在session里的那個。當新用戶登陸的時候,搜索這個用戶名是否已登錄,如果是,則找到相應session ID,把它invalidate,然後再把新的session ID存入資料庫。

第一個方法需要在用戶進行任何操作的時候即時更新資料庫里用戶的時間,然後用一個cron job檢查這個用戶名存在是不是超過了設定的時間,然後決定是否把這個用戶刪除。(如果把session ID也存上就簡單多了)

第二個方法只要用cron job定期檢查每個session是否還活著就可以了,如果session已死,就把資料庫里相應記錄刪除

⑨ java web程序spring mvc 如何解決用戶重復登錄

這個,session存儲登錄信息,是有過期時間的默認是30分鍾吧,你可以做在登錄的時候進行一個session用戶判斷就可以解決重復登錄問題,注銷時,將session中用戶清除,關閉瀏覽器一般不用做處理的。

⑩ java如何實現用戶二次登陸時,將第一次登陸踢下線

常見做法如下:每個用戶登錄後建立一個用戶對象,將其同時放入session和在線用戶集合;每個用戶登錄前先檢查該用戶名是不是在集合內,如果是,則將原用戶對象移除,讓二次登錄的用戶直接登錄;用戶每個請求前的在線狀態查詢里,判斷其sesssion里用戶對象是不是在集合里,不是則提醒未登錄。

閱讀全文

與java用戶重復登錄相關的資料

熱點內容
通達信回封板主圖源碼 瀏覽:44
戰地什麼伺服器 瀏覽:297
安卓為什麼老是閃退怎麼辦 瀏覽:801
樂高機器人的編程軟體下載 瀏覽:223
工作中怎麼使用加密狗 瀏覽:735
雲伺服器的後台找不到 瀏覽:98
php逐行寫入文件 瀏覽:912
javaoracleweb 瀏覽:440
京東加密碼怎麼弄 瀏覽:467
單片機程序員培訓 瀏覽:992
PHP商城源代碼csdn 瀏覽:636
怎麼把電腦里文件夾挪出來 瀏覽:693
java流程處理 瀏覽:685
ftp創建本地文件夾 瀏覽:660
腰椎第一節壓縮 瀏覽:738
xp去掉加密屬性 瀏覽:117
2345怎麼壓縮文件 瀏覽:982
迷你奪寶新演算法 瀏覽:407
伺服器如何防止木馬控制 瀏覽:715
壓縮空氣用電磁閥 瀏覽:742