99久久免费国产精品-天天爽夜夜爽夜夜爽-色噜噜久久综合伊人一本-国产无遮挡又黄又爽免费视频

在線客服:  

「南寧煙寒網(wǎng)絡(luò)」提供南寧網(wǎng)站建設(shè)、網(wǎng)站策劃、南寧網(wǎng)頁(yè)制作、網(wǎng)站設(shè)計(jì)、網(wǎng)站改版、南寧SEO優(yōu)化、網(wǎng)站維護(hù)、南寧網(wǎng)站優(yōu)化、南寧網(wǎng)站推廣、廣告設(shè)計(jì)等服務(wù)..

咨詢熱線

在線客服

24小時(shí)免費(fèi)咨詢電話:18978941786

客服時(shí)間:上午9:30~下午6點(diǎn)

當(dāng)前位置:首頁(yè)>> 技術(shù)文章 >> NET學(xué)習(xí) >> Asp.net中防止用戶多次登錄的方法

Asp.net中防止用戶多次登錄的方法

收藏 分享 發(fā)布日期:2012-2-12 16:30:51    編輯:admin  文章來(lái)源:  點(diǎn)擊率:

在web開(kāi)發(fā)時(shí),有的系統(tǒng)要求同一個(gè)用戶在同一時(shí)間只能登錄一次,也就是如果一個(gè)用戶已經(jīng)登錄了,在退出之前如果再次登錄的話需要報(bào)錯(cuò)。

常見(jiàn)的處理方法是,在用戶登錄時(shí),判斷此用戶是否已經(jīng)在Application中存在,如果存在就報(bào)錯(cuò),不存在的話就加到Application中(Application是所有Session共有的,整個(gè)web應(yīng)用程序唯一的一個(gè)對(duì)象):

以下是引用片段:
stringstrUserId=txtUser.Text;
ArrayListlist=Application.Get("GLOBAL_USER_LIST")asArrayList;
if(list==null)
{
list=newArrayList();
}
for(inti=0;i<list.Count;i++)
{
if(strUserId==(list[i]asstring))
{
//已經(jīng)登錄了,提示錯(cuò)誤信息
lblError.Text="此用戶已經(jīng)登錄";
return;
}
}
list.Add(strUserId);
Application.Add("GLOBAL_USER_LIST",list);

當(dāng)然這里使用Cache等保存也可以。

接下來(lái)就是要在用戶退出的時(shí)候?qū)⒋擞脩魪腁pplication中去除,我們可以在Global.asax的Session_End事件中處理:

以下是引用片段:
voidSession_End(objectsender,EventArgse)
{
//在會(huì)話結(jié)束時(shí)運(yùn)行的代碼。
//注意:只有在Web.config文件中的sessionstate模式設(shè)置為
//InProc時(shí),才會(huì)引發(fā)Session_End事件。如果會(huì)話模式設(shè)置為StateServer
//或SQLServer,則不會(huì)引發(fā)該事件。
stringstrUserId=Session["SESSION_USER"]asstring;
ArrayListlist=Application.Get("GLOBAL_USER_LIST")asArrayList;
if(strUserId!=null&&list!=null)
{
list.Remove(strUserId);
Application.Add("GLOBAL_USER_LIST",list);
}
}

這些都沒(méi)有問(wèn)題,有問(wèn)題的就是當(dāng)用戶直接點(diǎn)瀏覽器右上角的關(guān)閉按鈕時(shí)就有問(wèn)題了。因?yàn)橹苯雨P(guān)閉的話,并不會(huì)立即觸發(fā)Session過(guò)期事件,也就是關(guān)閉瀏覽器后再來(lái)登錄就登不進(jìn)去了。

這里有兩種處理方式:

1、使用Javascript方式

在每一個(gè)頁(yè)面中加入一段javascript代碼:

以下是引用片段:
functionwindow.onbeforeunload()
{
if(event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey){
window.open("logout.aspx");
}
}

由于onbeforeunload方法在瀏覽器關(guān)閉、刷新、頁(yè)面調(diào)轉(zhuǎn)等情況下都會(huì)被執(zhí)行,所以需要判斷是點(diǎn)擊了關(guān)閉按鈕或是按下Alt+F4時(shí)才執(zhí)行真正的關(guān)閉操作。

然后在logout.aspx的Page_Load中寫和Session_End相同的方法,同時(shí)在logout.aspx中加入事件:onload="javascript:window.close()"

但是這樣還是有問(wèn)題,javascript在不同的瀏覽器中可能有不同的行為,還有就是當(dāng)通過(guò)文件->關(guān)閉時(shí)沒(méi)有判斷到。

 

本文章由南寧網(wǎng)站建設(shè)南寧網(wǎng)站優(yōu)化南寧網(wǎng)絡(luò)公司整理,轉(zhuǎn)載請(qǐng)注明出處:http://www.lidajijin.com/

關(guān)于我們 | 域名主機(jī) | 建站套餐 | 企業(yè)動(dòng)態(tài) | 成功案例 | 網(wǎng)站推廣 | 建站知識(shí) | 常見(jiàn)問(wèn)題 | 聯(lián)系我們

南寧煙寒網(wǎng)絡(luò)竭誠(chéng)為您免費(fèi)提供南寧網(wǎng)站建設(shè)南寧網(wǎng)站設(shè)計(jì)南寧網(wǎng)站優(yōu)化、維護(hù)以及網(wǎng)站技術(shù)很方面的網(wǎng)絡(luò)服務(wù)!

南寧網(wǎng)站建設(shè)南寧網(wǎng)絡(luò)公司咨詢熱線電話:0771-5306126 18967841786(24小時(shí)全天電話)

煙寒網(wǎng)絡(luò) - 讓你進(jìn)一步走向成功

主站蜘蛛池模板: 国产精品久久久福利| 外国男同志网站| 一本色道久久综合一| 精品国精品国产自在久国产应用| 人妻丰满熟妇av无码区| 日韩精品无码久久一区二区三| 欧美一区二区三区成人片在线| 精品人体无码一区二区三区| 粗一硬一长一进一爽一a级| 丰满人妻被黑人猛烈进入| 欧美白人战黑吊| 四虎永久在线精品免费播放| 亚洲av蜜桃永久无码精品| 国产精品毛片一区二区三区| 久久精品熟女亚洲av麻豆 | 天堂久久久久va久久久久| 少妇暴力深喉囗交3p| 成人综合伊人五月婷久久| 波多野结衣 内射| 丰满岳妇乱一区二区三区| 久久久噜噜噜久久| 国精产品999一区二区三区有限| 娇妻被打开双腿灌满白浆一区| 国产成人久久av免费看| 人妻体内射精一区二区三四 | 强开少妇嫩苞又嫩又紧九色| 亚洲欧美日韩精品久久| 久久国产成人午夜av影院| 国产性生大片免费观看性| 无码人妻一区二区三区免费看| 青青草97国产精品免费观看| 婷婷久久综合九色综合88| 亚洲综合精品第一页| 黑人巨大精品欧美| 漂亮人妻洗澡被公强 日日躁| 四虎国产精品永久入口| 亚洲妇熟xxxx妇色黄| 国产精品无码一区二区在线| 视频一区视频二区制服丝袜| 无码丰满熟妇| 亚洲精品无码久久久久牙蜜区|