要防止同一用户同时登陆,首页应该记录在线用户的信息(这里与用户名为例),然后判断正在登陆的用户里面是否已存在。在这里使用一个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("");
}

ASP.NET 2.0防止同一用户同时登陆【转】相关推荐

  1. asp.net 2.0防止同一用户同时登陆

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

  2. (转) ASP.NET 2.0:使用用户控件和定制的Web部件个人化你的门户网站(二)

    Web部件目录 我们已经见过了如何在 WebPartZones 控件中事先放入Web部件.你还可以用另外一种方法完成这个功能,那就是允许用户在运行时添加新的Web部件.通过使用 CatalogZone ...

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

    概要:许多ASP.NET应用程序需要跨访问的用户属性跟踪功能,在ASP.NET1.1中,我们只能人工实现这一功能.但如今,使用 ASP.NET 2.0的Profile对象,这个过程变得异常简单.Ste ...

  4. asp.net Forums2.0修改密码后无法登陆问题——都是Cache惹的祸

    在写完0804版后,颓废了一段时间,并且主要在研究webmessenger(服务器暂无法访问),无暇顾及后续的asp.net forums本地化工作.经过一段时间休整,重新继续坚持对asp.net f ...

  5. .NET 2.0防止同用户同时登陆实例

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

  6. ASP.NET 2.0中使用自定义provider (2)

    ASP.NET 2.0中使用自定义provider (2) 在tech ed 2005上,有对asp.net 2.0的介绍,其中讲到asp.net 2.0提供了很多功能,让程序员做少很多东西,这引起了 ...

  7. ASP.NET 2.0用户管理数据库的注册

    在ASP.NET 2.0中提供了许多新功能,这些功能都需要使用Provider提供对数据库的访问.通过Provider,不需要再编写ADO.NET去访问数据库,就可以进行用户.角色等的管理. 要使用. ...

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

    摘要: 1 加Salt散列 2 ASP.NET 2.0 Membership中与密码散列有关的代码 声明:本文所罗列之源代码均通过Reflector取自.NET Framework类库,Anders ...

  9. ASP.NET 2.0关于用户登录限制问题实例:防止同一用户同时登陆

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

最新文章

  1. 大白话详解5种网络IO模型
  2. 生成对抗网络GANs理解(附代码)
  3. java jsp filename filepath 图片上传_SpringMVC实现文件上传与下载
  4. java并发编程(二十一)----(JUC集合)CopyOnWriteArraySet和ConcurrentSkipListSet介绍
  5. 亚洲国家互联网渗透率_发展中亚洲国家如何回应covid 19
  6. php 实时查看公众号加粉数据,公众号实时涨粉数据怎么查看
  7. HTML实时预览-LiveReload完整使用方法
  8. ajax跨域请求 html5,HTML5中使用postMessage实现Ajax跨域请求的方法
  9. 【写作技巧】计算机应用技术毕业论文范文
  10. 计算机考试c语言真题及答案,计算机二级c语言考试试题及答案
  11. 记录SpringSecurity jwt问题
  12. 系列文章--SharePoint 2013 开发教程
  13. 记一次用jspdf和html2canvas导出pdf分页处理
  14. 无人驾驶感知篇之车载摄像头
  15. AIC(最小信息化准则)
  16. ArcGIS 10安装方法(对比流行的2种安装方法)||迅雷电驴下载地址
  17. cisco路由器license的相关命令简单梳理
  18. python画五角星
  19. 制作可执行的JAR文件包及jar命令详解
  20. CBitmap Detach DeleteObject关系

热门文章

  1. 【Keras速成】Keras图像分类从模型自定义到测试
  2. 全球及中国婚礼鲜花行业运营模式分析及投资战略评估报告2022-2027年版
  3. php查询算法,PHP算法之二分查找
  4. 功能性农业谋定乡村振兴路径-万祥军:灌区农业大健康产业
  5. 【面试】编译器为我们实现了几个类成员函数?(c++)
  6. BZOJ.4738.[清华集训2016]汽水(点分治 分数规划)
  7. hdoj-1715-大菲波数(大斐波那契数列)
  8. xss Payload
  9. day18-事务与连接池 3.jdbc中事务操作介绍
  10. libsvm学习(二)——第一次体验libsvm(转)