.net限制用戶登錄實例
2016-04-24
限制用戶登錄的一下場景
1。比如QQ 我們在一處登錄QQ之后。如果我們在另一臺電腦上再次登錄這個時候就會被踢下線
2。我使用的郵箱也有上面情況
這樣做在很大的程度上面保證了。賬號的安全。
怎么樣實現
方法1 : 在用戶登錄時將用戶登錄狀態記錄數據庫中,每次登錄時我們在數據庫中查找用戶是否登錄。如果已經登錄,做出相關的業務處理
方法2: 把用戶登錄狀態的存在Session中
方法1明顯有一個缺點,假設在服務器突然斷電的情況下。是不是就悲劇了。這個已經登錄的用戶的狀態就會亂,直接將導致用戶無法再次登錄所以我們這里選在Cookies 和Session 來實現這個場景
示例代碼
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | if (Session[ "LOGIN_USER_LIST" ] != null ) { Dictionary<Guid,UserInfo> Userlist= Session[ "LOGIN_USER_LIST" ] as Dictionary<Guid,UserInfo>; Guid LoginKey = new Guid(); Guid.TryParse(CookieHelper.getCookie( "LOG_USER_KEY" ), out LoginKey); if (Userlist.Keys.Contains(LoginKey)) { //如何用戶登錄 } else { //如果用戶沒有登錄 } } |
下一篇: 學士后.NET課程