欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

防止用戶重復登錄!

系統 2018 0

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

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

?

// 1、公用類中判斷用戶是否在線的函數(供用戶調用)?
/**/ /// ? <summary> ?
/// ?判斷用戶strUserID是否包含在Hashtable?h中?
/// ? </summary> ?
/// ? <param?name="strUserID"></param> ?
/// ? <param?name="h"></param> ?
/// ? <returns></returns> ?

public ? static ? bool ?AmIOnline( string ?strUserID,Hashtable?h)?
{?
????
if (strUserID? == ? null )?
????
return ? false ;?

????
// 繼續判斷是否該用戶已經登陸?
???? if (h? == ? null )?
????
return ? false ;?

????
// 判斷哈希表中是否有該用戶?
????IDictionaryEnumerator?e1? = ?h.GetEnumerator();?
????
bool ?flag? = ? false ;?
????
while (e1.MoveNext())?
????
{?
????????
if (e1.Value.ToString().CompareTo(strUserID)? == ? 0 )?
????????
{?
????????????flag?
= ? true ;?
????????????
break ;?
????????}
?
????}
?
????
return ?flag;?
}
?

// 2、用戶登錄事件處理:?
private ? void ?btnlogin_Click( object ?sender,?System.Web.UI.ImageClickEventArgs?e)?
{? /**/ /// /User為自定義的類,其中包含Login方法?
????User?CurUser? = ? new ?User();?
????CurUser.UserID?
= ? this .username.Text.Trim();?

????
if (MyUtility.AmIOnline(CurUser.UserID,?(Hashtable)Application[ " Online " ]))?
????
{?
????????JScript.Alert(
" 您所使用的登錄ID已經在線了!您不能重復登錄! " );?
????????
return ;?
????}
?

????CurUser.LoginPsw?
= ?FormsAuthentication.HashPasswordForStoringInConfigFile( this .password.Text.Trim(), " SHA1 " );?
????
int ?ii? = ?CurUser.Login();?
????StringBuilder?sbPmt?
= ? new ?StringBuilder();?

????
switch (ii)?
????
{?
????????
case ? 0 :? // 如果登錄成功,則將UserID加入Application["Online"]中?
????????????Hashtable?h? = ?(Hashtable)Application[ " Online " ];?
????????????
if (h? == ? null )?
????????????h?
= ? new ?Hashtable();?
????????????h[Session.SessionID]?
= ?CurUser.UserID;?
????????????Application[
" Online " ]? = ?h;?

????????????Session[
" UserID " ]? = ?CurUser.UserID;?
????????????Session[
" UserNM " ]? = ?CurUser.UserNM;?
????????????Session[
" RoleMap " ]? = ?CurUser.RoleMap;?
????????????Session[
" LoginPsw " ]? = ?CurUser.LoginPsw;?
????????????Session[
" LoginTime " ]? = ?DateTime.Now;?
????????????Response.Redirect(
" ChooseRole.aspx " );?
????????
break ;?
????????
case ? - 1 :?
????????????JScript.Alert(
" 用戶名錯誤! " );?
????????
break ;?
????????
case ? - 2 :?
????????????JScript.Alert(
" 密碼錯誤! " );?
????????
break ;?
????????
default :?
????????????sbPmt.Append(
" 登錄過程中發生未知錯誤! " );?
????????????JScript.Alert(sbPmt.ToString());?
????????
break ;?
????}
?
????
return ;?
}
?

// 3、在Global.asax中的Session_End事件:?
protected ? void ?Session_End(Object?sender,?EventArgs?e)?
{?
????Hashtable?h
= (Hashtable)Application[ " Online " ];?

????
if (h[Session.SessionID] != null )?
????h.Remove(Session.SessionID);?

????Application[
" Online " ] = h;?
}
?

// 4、在每一個頁面需要刷新的地方,調用如下代碼:?
try ?
{?
????
if ( ! common.MyUtility.AmIOnline(Session[ " UserID " ].ToString(),(Hashtable)Application[ " OnLine " ]))?
????
{?
????????
// 用戶沒有在線?,轉到登錄界面?
????????Response.Write( " <script>parent.document.location.href='Login.aspx';</script> " );? /**/ /// /有框架時用?
???????? // Response.Redirect("login.aspx");? //// 無框架時用?
???????? return ;?
????}
?
}
?
catch ?
{?
????
// 會話過期?,轉到登錄界面?
????Response.Write( " <script>parent.document.location.href='Login.aspx';</script> " );? /**/ /// /有框架時所用?
???? // Response.Redirect("login.aspx");? //// 無框架時用?
???? return ;?
}
?

?

深入思考:
由本例的解決方法可以加以延伸,比如,在存儲
UserID的時候,將UserID+客戶端IP地址一起存進去, 則在將相應信息取出來分析的時候,可以做到:當用 戶在不同的計算機上先后登錄的時候,則允許最近一 次的登錄,而將之前的登錄刪除!等等等等


--這個里面是具體的詳細信息

http://www.cnblogs.com/panshuiqing/articles/951779.html

防止用戶重復登錄!


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: av资源中文在线 | 久草这里只有精品 | 99亚洲 | 成人精品视频一区二区三区尤物 | 亚洲一级免费视频 | 美女福利网站 | 黄片毛片免费观看 | 亚洲天堂视频在线观看免费 | 性爽爽 | 一级在线观看视频 | 日产国产欧美视频一区精品 | 欧美成人精品激情在线观看 | 国产成人理在线观看视频 | 亚洲色域网 | 四虎影视免费观看免费观看 | 国产在视频一区二区三区吞精 | 亚洲国产精久久久久久久 | 欧美激情一区二区三级高清视频 | 久久夜色精品国产 | 亚洲综合色婷婷在线观看 | 日本一区二区视频 | va在线| 天天看天天爽 | 久久福利在线 | 国产免费一区二区在线看 | 亚洲免费福利 | 天天成人综合网 | 四虎影院新地址 | 国产一区二 | 又大又紧又硬又湿a视频 | 欧美一区二区视频 | 国产成久久免费精品AV片天堂 | 午夜国产电影 | 久久永久免费中文字幕 | 午夜影院在线免费观看视频 | 伊人网站| 日韩精品一区二区三区在线观看 | 亚洲视频在线一区 | 亚洲六月丁香色婷婷综合久久 | 亚洲成人免费视频 | 久久伊人久久 |