程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> ASP.NET防用戶重復登錄的實例

ASP.NET防用戶重復登錄的實例

編輯:關於ASP.NET

本例完成的功能就是防止用戶重復登錄!若用戶已經登錄,則當其再次登錄時,彈出提示框後返回!

實現思路:

用戶登錄成功後,將用戶登錄信息存放到Hashtable類型的Application["Online"]裡面,其鍵值為SessionID,其Value值為用戶ID;當用戶注銷時,調用Session.Abandon;在Global.asax裡面的SessionEnd事件中,將用戶ID從Hashtable中刪除;在用戶訪問頁面時,察看Hashtable中是否有對應的用戶ID如果沒有則判斷用戶不在線(用戶不在線的原因可能是按了注銷按鈕、網頁超時等)

1、公用類中判斷用戶是否在線的函數(供用戶調用)

Code

1/**//// <summary>
  2/// 判斷用戶strUserID是否包含在Hashtable h中
  3/// </summary>
  4/// <param name="strUserID"></param>
  5/// <param name="h"></param>
  6/// <returns></returns>
  7public static bool AmIOnline(string strUserID, Hashtable h)
  8{
  9    if (strUserID == null)
10        return false;
11
12    //繼續判斷是否該用戶已經登陸
13    if (h == null)
14        return false;
15
16    //判斷哈希表中是否有該用戶
17    IDictionaryEnumerator e1 = h.GetEnumerator();
18    bool flag = false;
19    while (e1.MoveNext())
20    {
21        if (e1.Value.ToString().CompareTo(strUserID) == 0)
22        {
23            flag = true;
24            break;
25        }
26    }
27    return flag;
28}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved