ASP.NET 2.0防止同一用户同时登陆

原创 2007年09月21日 13:33:00

要防止同一用户同时登陆,首页应该记录在线用户的信息(这里与用户名为例),然后判断正在登陆的用户里面是否已存在。在这里使用一个cache存放已经登陆的用户名,但是还有一个问题就是要知道用户是什么时候离开系统的呢?这就要定期清除cache中的内容了,也就是设置一个cache的时间。这个时间可以跟用户的session值联系起来,刚好当用户session值失效的时候该用户在cache里面的信息也会被清空.这样就达到了防止同时登陆的效果,具体代码如下:

  放在登陆成功的地方:

string key = TextBox1.Text; //用户名文本框设为cache关键字
string uer = Convert.ToString(Cache[key]); //读取cache中用户相应的值
//判断cache中是否有用户的信息,如果没有相关的值,说明用户未登陆
if (uer == null || uer == String.Empty)
{
 //定义cache过期时间

 TimeSpan SessTimeout = new TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0);

 //第一次登陆的时候插入一个用户相关的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
{
 //重复登陆
 Response.Write("<script>alert('您的账号已经登陆!');window.location='login.aspx';</script>");

相关文章推荐

ASP.NET 防止同一用户同时登陆

要防止同一用户同时登陆,首页应该记录在线用户的信息(这里与用户名为例),然后判断正在登陆的用户里面是否已存在。在这里使用一个cache存放已经登陆的用户名,但是还有一个问题就是要知道用户是什么时候离开...

ASP.NET2.0-防止同一用户同时登录

要防止同一用户同时登陆,首页应该记录在线用户的信息(这里与用户名为例),然后判断正在登陆的用户里面是否已存在。在这里使用一个cache存放已经登陆的用户名,但是还有一个问题就是要知道用户是什么时候离开...

使用ASP.NET 2.0 Profile存储用户信息[翻译] Level 200

作者: Stephen Walther 原文地址:http://msdn.microsoft.com/asp.net/default.aspx?pull=/library/en-us/dnvs05/...

ASP.NET 2.0 个性化用户配置

转载自 szchung 最终编辑 suizhikuo 一、数据库配置      默认情况下,第一次执行与用户配置功能有关的应用程序时,系统将自动为该应用程序创...

浅析ASP.NET 2.0的用户密码加密机制

  摘要:  1 加Salt散列  2 ASP.NET 2.0 Membership中与密码散列有关的代码  声明:本文所罗列之源代码均通过Reflector取自.NET Framework类库,An...
  • rtyytr
  • rtyytr
  • 2011年05月27日 10:36
  • 177

.net防止同一用户同时登陆

  • 2010年07月24日 08:52
  • 1KB
  • 下载

你的.net 2.0 真的能与1.1 安全正确地运行在同一台电脑上吗? 小心Server Application Unavailable 错误

答案 当然是 肯定的。但不作任何处理的默认情况下,会出问题! 各位在同一电脑上同时安装并运行.net 1.1 和 .net 2.0 两个版本的朋友要小心啊! 您的项目是不是时不时会...

asp.net防止同一帐户重复登陆,查看在线人数

一、新建UserDal文件 namespace Dal { public class UserDal { //获取管理员列表 public ...

使用ASP.NET 2.0 Profile存储用户信息

  • 2015年05月07日 20:34
  • 3.86MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.NET 2.0防止同一用户同时登陆
举报原因:
原因补充:

(最多只允许输入30个字)