欧美三区_成人在线免费观看视频_欧美极品少妇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條評論
主站蜘蛛池模板: 99热这里有免费国内精品 | 婷婷综合色| 五月激情六月 | 国产高清在线看 | 日韩欧美专区 | 日本久久中文字幕 | 欧美性野久久久久久久久 | 日韩精品免费在线视频 | 日韩午夜伦y4480私人影院 | www.com黄色 | 日本a级大片 | 精品一区二区三区的国产在线观看 | 成人国产免费视频 | 日韩精品一区二区三区 | 国产中文字幕一区 | 九九热视| 成年男女男免费视频网站不卡 | 国产精品欧美一区二区在线看 | 最新日本中文字幕在线观看 | 日本欧美不卡一区二区三区在线 | 久久精品国产一区二区 | 精品成人一区二区三区 | 国产在线观看中文字幕 | 亚洲一区二区三区四区精品 | 夜精品A片观看无码一区二区 | 国产 欧美 日韩 一区 | 日韩成人av网站 | 天天天天射 | 色版网站 | 国产网曝在线观看视频 | 亚洲高清在线 | 色图综合 | 婷婷色香五月激情综合2020 | 久草久热 | 色黄小说 | 日韩在线播放第一页 | 玖玖精品在线观看 | 免费人成网站线观看合集 | 成人淫片免费视频95视频 | 91中文字幕在线观看 | 天天拍久久 |