重複登入問題最終解決方法
在《關於J2ee的struts結構不能解決的幾個問題》一文中我們提到使用session解決使用者重複登入的問題,經過一段時間的考慮和測試終於有了一個解決辦法; 合理性不知道是不是可以,現在寫一下我的思路,供大家參考一下;
[@more@]1:我們需要把當前登入使用者的所有session記錄下來,如何來作?我們可以定義一個CacheData 類來實現:
public class CacheData {
public CacheData() {
}
public static java.util.Hashtable USER_SESSION = new java.util.Hashtable();
//USER_SESSION 定義為static 型別的是為了在應用程式中使其只存在一個例項;(還有更好的辦法來實現,再次就不多說了!)
}
2:具體的思路是,使用者首先提交使用者名稱和密碼,如果登入不成功則退出,如果登入成功,則判斷是否已經登入;如果沒有登入則把session存在CacheData.USER_SESSION 中,並提示成功登入;如果判斷出已經登入,則取的已經登入的使用者的session並登出掉(即把第一個登入的使用者強制踢掉,^_^),具體程式碼:
// login successfully
request.getSession().setAttribute("user_info", user_info);
//判斷是否重複登入 start
Hashtable ht2 = CacheData.USER_SESSION;
if(CacheData.USER_SESSION==null){
ht2.put(user_name,request.getSession());
}
else
{
if(ht2.get(user_name)!=null){
//HttpSession sess = (HttpSession)application.getAttribute(sessionID);
//sess.setInvi...();
HttpSession ses = (HttpSession)ht2.get(user_name);
ht2.remove(user_name);
ses.invalidate();
System.out.print("登出成功!!");
}
ht2.put(user_name,request.getSession());
}
//判斷是否重複登入 end
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/300209/viewspace-811921/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ssh登入慢問題解決方法
- mysql登入遇到ERROR 1045問題解決方法MySqlError
- 用滑動視窗來解決最長無重複子串問題
- 解決csdn登陸複製的問題
- 解決表單重複提交的問題
- 解決winform窗體重複建立問題ORM
- 微信登入-6問題解決方案
- SSH登入很慢問題的解決
- 奇怪的登入問題及解決
- 解決ssh登入慢的問題
- Win10執行虛擬機器,最嚴重問題終於解決Win10虛擬機
- 快速解決mongodb出現id重複問題MongoDB
- mysql 本機不能登入問題解決MySql
- windows xp沒有登入歡迎介面的問題解決方法Windows
- 解決生產日誌重複列印的問題
- 解決alertmanager重複傳送訊息的問題
- kafka9重複消費問題解決Kafka
- 解決Ubuntu下MySQL遠端登入問題UbuntuMySql
- 解決Linq.ToDictionary()時的鍵重複問題
- Java IO 建立檔案解決檔名重複問題Java
- iReport列印為excel表頭重複問題解決Excel
- Linux中文亂碼問題終極解決方法Linux
- 記錄一個 gitlab 登入問題解決Gitlab
- Resin的中文問題最簡單的解決方法
- 看了benq的中文終極解決之道最後一點問題ENQ
- 解決spring security自定義filter重複執行問題SpringFilter
- 解決 HttpServletRequest 的輸入流不能重複讀的問題HTTPServlet
- 解決RabbitMQ訊息丟失與重複消費問題MQ
- peoplesoft不能登入DB解決方法
- 解決Xmanager登陸介面亂碼問題的方法 [轉]
- YII2自動登入Cookie失效問題解決Cookie
- 解決Windows安全性登入彈框的問題Windows
- 透過 Pulsar 原始碼徹底解決重複消費問題原始碼
- 分散式環境下利用快取解決重複性問題分散式快取
- EXP匯出資料檔名稱重複問題的解決
- Linux——ssh登入很慢解決方法Linux
- SERVICE問題解決方法
- PHP防止表單重複提交的解決方法PHP