.Net 如何限制用戶登錄的方法
名詞解析
1.Cookies 按照英文單詞翻譯過來是“甜點(diǎn)”的意思。這個(gè)和我們計(jì)算機(jī)貌似沒有什么關(guān)系。我們這里說的Cookies是指服務(wù)器在暫存在計(jì)算機(jī)上的一段資料。
2.Session 按照英文單詞翻譯過來是“會話”的意思。存在于服務(wù)器的內(nèi)存中。
限制用戶登錄的一下場景
1。比如QQ 我們在一處登錄QQ之后。如果我們在另一臺電腦上再次登錄這個(gè)時(shí)候就會被踢下線
2。我使用的郵箱也有上面情況
這樣做在很大的程度上面保證了。賬號的安全。
怎么樣實(shí)現(xiàn)
方法1 : 在用戶登錄時(shí)將用戶登錄狀態(tài)記錄數(shù)據(jù)庫中,每次登錄時(shí)我們在數(shù)據(jù)庫中查找用戶是否登錄。如果已經(jīng)登錄,做出相關(guān)的業(yè)務(wù)處理
方法2: 把用戶登錄狀態(tài)的存在Session中
方法1明顯有一個(gè)缺點(diǎn),假設(shè)在服務(wù)器突然斷電的情況下。是不是就悲劇了。這個(gè)已經(jīng)登錄的用戶的狀態(tài)就會亂,直接將導(dǎo)致用戶無法再次登錄所以我們這里選在Cookies 和Session 來實(shí)現(xiàn)這個(gè)場景
示例代碼
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
{
//如果用戶沒有登錄
}
}
希望上面簡單的代碼對大家有幫助
相關(guān)文章
MVC文件上傳支持批量上傳拖拽及預(yù)覽文件內(nèi)容校驗(yàn)功能
這篇文章主要介紹了MVC文件上傳支持批量上傳拖拽及預(yù)覽文件內(nèi)容校驗(yàn)功能,需要的朋友可以參考下2017-03-03
ASP.NET?MVC使用jQuery?ui的progressbar實(shí)現(xiàn)進(jìn)度條
這篇文章介紹了ASP.NET?MVC使用jQuery?ui的progressbar實(shí)現(xiàn)進(jìn)度條的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08
asp.net Context.Handler 頁面間傳值方法
很有用的頁面間傳值方法(Context.Handler),使用說明2008-08-08
GridView中checkbox"全選/取消"完美兼容IE和Firefox
GridView中checkbox的的"全選/取消"使用還是比較頻繁的,本文有個(gè)不錯的示例完美兼容IE和Firefox,感興趣的朋友可以參考下,希望對大家有所幫助2013-10-10
ASP.NET?MVC創(chuàng)建XML文件并實(shí)現(xiàn)元素增刪改
這篇文章介紹了ASP.NET?MVC創(chuàng)建XML文件并實(shí)現(xiàn)元素增刪改的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07
使用DataTable.Select 方法時(shí),特殊字符的轉(zhuǎn)義方法分享
常見的特殊字符 基本都能轉(zhuǎn)義 ,不知道還有沒有漏掉的 ,目前使用正常 ,有需要的朋友可以參考一下2013-10-10

