.Net 如何限制用戶登錄的方法
名詞解析
1.Cookies 按照英文單詞翻譯過來是“甜點(diǎn)”的意思。這個(gè)和我們計(jì)算機(jī)貌似沒有什么關(guān)系。我們這里說的Cookies是指服務(wù)器在暫存在計(jì)算機(jī)上的一段資料。
2.Session 按照英文單詞翻譯過來是“會(huì)話”的意思。存在于服務(wù)器的內(nèi)存中。
限制用戶登錄的一下場(chǎng)景
1。比如QQ 我們?cè)谝惶幍卿決Q之后。如果我們?cè)诹硪慌_(tái)電腦上再次登錄這個(gè)時(shí)候就會(huì)被踢下線
2。我使用的郵箱也有上面情況
這樣做在很大的程度上面保證了。賬號(hào)的安全。
怎么樣實(shí)現(xiàn)
方法1 : 在用戶登錄時(shí)將用戶登錄狀態(tài)記錄數(shù)據(jù)庫中,每次登錄時(shí)我們?cè)跀?shù)據(jù)庫中查找用戶是否登錄。如果已經(jīng)登錄,做出相關(guān)的業(yè)務(wù)處理
方法2: 把用戶登錄狀態(tài)的存在Session中
方法1明顯有一個(gè)缺點(diǎn),假設(shè)在服務(wù)器突然斷電的情況下。是不是就悲劇了。這個(gè)已經(jīng)登錄的用戶的狀態(tài)就會(huì)亂,直接將導(dǎo)致用戶無法再次登錄所以我們這里選在Cookies 和Session 來實(shí)現(xiàn)這個(gè)場(chǎng)景
示例代碼
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
{
//如果用戶沒有登錄
}
}
希望上面簡(jiǎn)單的代碼對(duì)大家有幫助
相關(guān)文章
批量賬號(hào)的login測(cè)試功能實(shí)現(xiàn)
用WaitiN寫了個(gè)簡(jiǎn)單的login自動(dòng)化測(cè)試,能夠使用少量的代碼實(shí)現(xiàn)批量賬號(hào)的login測(cè)試,需要的朋友可以參考下2012-11-11asp.net開發(fā)微信公眾平臺(tái)之驗(yàn)證消息的真實(shí)性
這篇文章主要介紹了asp.net開發(fā)微信公眾平臺(tái)之驗(yàn)證消息的真實(shí)性的相關(guān)資料,需要的朋友可以參考下2015-06-06asp.net 使用Response.Filter 過濾非法詞匯
一般信息發(fā)布網(wǎng)站,論壇等均具有實(shí)現(xiàn)非法詞匯過濾功能,即當(dāng)用戶錄入非法詞匯時(shí),進(jìn)行替換,使其無法顯示到頁面上,針對(duì)此種功能,通常采用的時(shí),在讀取時(shí),在讀到非法詞匯后,進(jìn)行替換。2010-03-03MVC 5 第二章 MVC5應(yīng)用程序項(xiàng)目結(jié)構(gòu)
通過本章學(xué)習(xí),你將了解到一個(gè)MVC 5應(yīng)用程序的項(xiàng)目組成以及項(xiàng)目文件的相關(guān)信息,從而更好地架構(gòu)設(shè)計(jì)出自己的項(xiàng)目結(jié)構(gòu)。2014-06-06.NET讀寫Excel工具Spire.Xls使用 對(duì)數(shù)據(jù)操作與控制(4)
這篇文章主要為大家詳細(xì)介紹了.NET讀寫Excel工具Spire.Xls使用,對(duì)數(shù)據(jù)操作與控制的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11ScriptManager.RegisterStartupScript()方法在ajax頁面無效的解決方法
ScriptManager.RegisterStartupScript()方法在ajax頁面無效的解決方法2010-03-03