ASP.NET防用户重复登录的实例

本例完成的功能就是防止用户重复登录!若用户已经登录,则当其再次登录时,弹出提示框后返回!

实现思路:

用户登录成功后,将用户登录信息存放到Hashtable类型的Application["Online"]里面,其键值为SessionID,其Value值为用户ID;当用户注销时,调用Session.Abandon;在Global.asax里面的SessionEnd事件中,将用户ID从Hashtable中删除;在用户访问页面时,察看Hashtable中是否有对应的用户ID如果没有则判断用户不在线(用户不在线的原因可能是按了注销按钮、网页超时等)

1、公用类中判断用户是否在线的函数(供用户调用)

Code

1/**//// <summary>
  2/// 判断用户strUserID是否包含在Hashtable h中
  3/// </summary>
  4/// <param name="strUserID"></param>
  5/// <param name="h"></param>
  6/// <returns></returns>
  7public static bool AmIOnline(string strUserID, Hashtable h)
  8{
  9    if (strUserID == null)
10        return false;
11
12    //继续判断是否该用户已经登陆
13    if (h == null)
14        return false;
15
16    //判断哈希表中是否有该用户
17    IDictionaryEnumerator e1 = h.GetEnumerator();
18    bool flag = false;
19    while (e1.MoveNext())
20    {
21        if (e1.Value.ToString().CompareTo(strUserID) == 0)
22        {
23            flag = true;
24            break;
25        }
26    }
27    return flag;
28}

时间: 2024-09-23 08:14:42

ASP.NET防用户重复登录的实例的相关文章

利用SQL Server的全局临时表防止用户重复登录

server|临时表|重复     在我们开发商务软件的时候,常常会遇到这样的一个问题:怎样防止用户重复登录我们的系统?特别是对于银行或是财务部门,更是要限制用户以其工号身份多次登入.         可能会有人说在用户信息表中加一字段判断用户工号登录的状态,登录后写1,退出时写0,且登录时判断其标志位是否为1,如是则不让该用户工号登录.但是这样那势必会带来新的问题:如发生象断电之类不可预知的现象,系统是非正常退出,无法将标志位置为0,那么下次以该用户工号登录则不可登入,这该怎么办呢?     

巧用SQL server的全局临时表防止用户重复登录

在我们开发商务软件的时候,常常会遇到这样的一个问题:怎样防止用户重复登录我们的系统?特别是对于银行或是财务部门,更是要限制用户以其工号身份多次登入. 可能会有人说在用户信息表中加一字段判断用户工号登录的状态,登录后写1,退出时写0,且登录时判断其标志位是否为1,如是则不让该用户工号登录.但是这样那势必会带来新的问题:如发生象断电之类不可预知的现象,系统是非正常退出,无法将标志位置为0,那么下次以该用户工号登录则不可登入,这该怎么办呢? 或许我们可以换一下思路:有什么东西是在connection断

我不想让用户重复登录,怎么办?

问题描述 我搞个小型的进销存,我不想让用户重复登录,怎么办?我现在的做是这样的.在数据库插入登录记录(用户名ID)在退出系统时就删除这个用户名ID可是用户的电脑如果断电或其它方式关闭,那么系统就无法删除数据中的登录的用户大家有什么好的方法/? 解决方案 解决方案二:象WINDOWS一样把密码写成文件存储啊解决方案三:难办~解决方案四:如果你想这么做的话,可以考虑一下将登录记录存储在tempdb中.解决方案五:讲讲游戏服务器端是怎么做的吧首先客户端登陆验证服务器,验证通过分配给客户端一个sessi

asp用户登录模块实例代码

 asp用户登录模块实例代码: 用户登录验证脚本,Chkpwd.asp 以下为引用的内容: <%  '=======用户登录验证脚本=======  '如果尚未定义Passed对象,则将其定义为false,表示没有通过验证  If IsEmpty(Session("Passed")) Then  Session("Passed")=false  End If  'Session("Passed")=False,表示尚未通过验证,则开始读取从

asp.net Cookie记录用户登录次数与防止同一账户重复登录

asp教程.net cookie记录用户登录次数与防止同一账户重复登录 放在登陆成功的地方:  string key = textbox1.text; //用户名文本框设为cache关键字  string uer = convert.tostring(cache[key]); //读取cache中用户相应的值 if (uer == null || uer == string.empty)//判断cache中是否有用户的信息,如果没有相关的值,说明用户未登陆 {   //定义cache过期时间  

Flash和ASP实现的用户登录/注册程序

核心提示:Flash和ASP实现的用户登录/注册程序教程. Flash一帧可以完成.asp也可以一个文件完成,这里我将用户登录和用户注册分为两步做,方便大家理解,Flash分两帧,asp分两个文件. 准备: Flash8 , IIS ,Miscrosoft Access 2003; 开始: 数据库中: 用设计视图新建一个名为 UserTable 的表,三个字段分别为 id 为自动编号,username为文本,password为文本; 输入一条数据 username 和 password 都为ch

ASP.NET MVC+EF框架+EasyUI实现权限管理系列(12)-实现用户异步登录和T4模板

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(12)-实现用户异步登录和T4模板 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装    (5):前台Jquery easyUI实现    (6):EF上下文实例管理    (7):DBSession的封装   (8):DBSession线程内唯一     (9):TT摸版的学习 

Asp.net mvc 权限过滤和单点登录(禁止重复登录)_实用技巧

1.权限控制使用controller和 action来实现,权限方式有很多种,最近开发项目使用控制控制器方式实现代码如下 /// <summary> /// 用户权限控制 /// </summary> public class UserAuthorize : AuthorizeAttribute { /// <summary> /// 授权失败时呈现的视图 /// </summary> public string AuthorizationFailView

ASP.NET使用Session判断用户是否登录

ASP.NET使用Session判断用户是否登录 以下是引用片段:if (bResult == true)   //登录的用户名和密码正确     { //保存登录的用户名 Session["LoginUser"] = FormatString.Replace(txtLoginUser.Text);  //这里就是给session赋值了.我对登录用户进行了一些安全处理 //转到管理首页        Response.Redirect("Admin_Index.Aspx&qu