ASP.NET 2.0防止同一用户同时登陆
2007-06-05 18:04 w i n s o n 阅读(610) 评论(1) 编辑 收藏 举报
以下代码可以限制同一个帐号同时登录:
1string key = TextBox1.Text; //用户名文本框设为cache关键字
2 string uer = Convert.ToString(Cache[key]); //读取cache中用户相应的值
3
4 //判断cache中是否有用户的信息,如果没有相关的值,说明用户未登陆
5 if (uer == null || uer == String.Empty)
6 { //定义cache过期时间
7 TimeSpan SessTimeout = new TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0);
8 //第一次登陆的时候插入一个用户相关的cache值,
9 HttpContext.Current.Cache.Insert(key, key, null, DateTime.MaxValue, SessTimeout, System.Web.Caching.CacheItemPriority.NotRemovable, null); Session["ADMINID"] = TextBox1.Text; Response.Redirect("main.aspx");
10 }
11 else
12 {
13 //重复登陆
14 Response.Write("<script>alert('您的账号已经登陆!');window.location='login.aspx';</script>");
15 }
2 string uer = Convert.ToString(Cache[key]); //读取cache中用户相应的值
3
4 //判断cache中是否有用户的信息,如果没有相关的值,说明用户未登陆
5 if (uer == null || uer == String.Empty)
6 { //定义cache过期时间
7 TimeSpan SessTimeout = new TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0);
8 //第一次登陆的时候插入一个用户相关的cache值,
9 HttpContext.Current.Cache.Insert(key, key, null, DateTime.MaxValue, SessTimeout, System.Web.Caching.CacheItemPriority.NotRemovable, null); Session["ADMINID"] = TextBox1.Text; Response.Redirect("main.aspx");
10 }
11 else
12 {
13 //重复登陆
14 Response.Write("<script>alert('您的账号已经登陆!');window.location='login.aspx';</script>");
15 }