ASP.NET 2.0防止同一用户同时登陆【转】
生活随笔
收集整理的這篇文章主要介紹了
ASP.NET 2.0防止同一用户同时登陆【转】
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
要防止同一用戶同時登陸,首頁應(yīng)該記錄在線用戶的信息(這里與用戶名為例),然后判斷正在登陸的用戶里面是否已存在。在這里使用一個cache存放已經(jīng)登陸的用戶名,但是還有一個問題就是要知道用戶是什么時候離開系統(tǒng)的呢?這就要定期清除cache中的內(nèi)容了,也就是設(shè)置一個cache的時間。這個時間可以跟用戶的session值聯(lián)系起來,剛好當用戶session值失效的時候該用戶在cache里面的信息也會被清空.這樣就達到了防止同時登陸的效果,具體代碼如下:
放在登陸成功的地方:
| 以下是引用片段: string?key?=?TextBox1.Text;?//用戶名文本框設(shè)為cache關(guān)鍵字? string?uer?=?Convert.ToString(Cache[key]);?//讀取cache中用戶相應(yīng)的值 //判斷cache中是否有用戶的信息,如果沒有相關(guān)的值,說明用戶未登陸 if?(uer?==?null?||?uer?==?String.Empty) { //定義cache過期時間 TimeSpan?SessTimeout?=?new?TimeSpan(0,?0,?System.Web.HttpContext.Current.Session.Timeout,?0,?0); //第一次登陸的時候插入一個用戶相關(guān)的cache值, HttpContext.Current.Cache.Insert(key,?key,?null,?DateTime.MaxValue,?SessTimeout,?System.Web.Caching.CacheItemPriority.NotRemovable,?null); Session["ADMINID"]?=?TextBox1.Text; Response.Redirect("main.ASPx"); } else { //重復(fù)登陸 Response.Write(""); } |
總結(jié)
以上是生活随笔為你收集整理的ASP.NET 2.0防止同一用户同时登陆【转】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Dreamweaver8注册码
- 下一篇: asp.net ajax控件工具集 Au