限制重复登录问题
2011-08-23 08:15
232 查看
在测试的时候遇到了限制同一用户重复登录的问题。下面说说我的解决思路。
思路一:声明一个静态变量,用于存放最新一次的登录账户名,在新用户登录的时候与之进行对比,如果相同那么就说明已经登录。
分析:这个思路的局限性很大,从理论上说,这个变量只能存放最新登录的用户名,显然不能满足系统的要求。
思路二:声明一个静态的数组,存放已经登录的用户名,在新用户登陆的时候,判断这个数组内是否有相同元素。
分析:这种思路虽然比思路一改进了些,但是局限性还是很大,不能满足需求。
思路三:在online_info表中记录已登录的用户名。
分析:这个方法虽然可行,但是,如果登陆者的身份是系统管理员,如果也加到目前登录人数,这样就不能这却反映上机消费的学生人数。所以还应改进一些。
思路四:在user_info表中记录已登录用户的登录状态。添加一个flag字段,如果成功登录,那么给这个字段赋值为1,用户退出时字段赋值为0。
分析:这么一来,基本上满足了系统的需求,下面是部分与之相关的代码。但是这里还应该提到一个健壮处理:如果非正常退出登录,比如电脑突然死机,突然停电等等。应该增加这些事件的状态处理,以便保证user_info表中flag字段的正确赋值。
思路一:声明一个静态变量,用于存放最新一次的登录账户名,在新用户登录的时候与之进行对比,如果相同那么就说明已经登录。
分析:这个思路的局限性很大,从理论上说,这个变量只能存放最新登录的用户名,显然不能满足系统的要求。
思路二:声明一个静态的数组,存放已经登录的用户名,在新用户登陆的时候,判断这个数组内是否有相同元素。
分析:这种思路虽然比思路一改进了些,但是局限性还是很大,不能满足需求。
思路三:在online_info表中记录已登录的用户名。
分析:这个方法虽然可行,但是,如果登陆者的身份是系统管理员,如果也加到目前登录人数,这样就不能这却反映上机消费的学生人数。所以还应改进一些。
思路四:在user_info表中记录已登录用户的登录状态。添加一个flag字段,如果成功登录,那么给这个字段赋值为1,用户退出时字段赋值为0。
分析:这么一来,基本上满足了系统的需求,下面是部分与之相关的代码。但是这里还应该提到一个健壮处理:如果非正常退出登录,比如电脑突然死机,突然停电等等。应该增加这些事件的状态处理,以便保证user_info表中flag字段的正确赋值。
'检测在用户信息表中是否已经登录 Dim txtSQLA As String Dim MsgTextA As String Dim RstA As ADODB.Recordset txtSQLA = "select * from user_info where userid='" & Trim(txtUserName.Text) & "'" Set RstA = ExecuteSQL(txtSQLA, MsgTextA) If RstA!FLag = 1 Then MsgBox "此用户已经登录,不能重复登录", vbOKOnly + vbExclamation, "提示" txtUserName.Text = "" txtPassWord.Text = "" txtUserName.SetFocus RstA.Close Exit Sub Else RstA!FLag = 1 RstA.Update RstA.Close End If
相关文章推荐
- 远程桌面由于帐户限制你无法登录问题
- 请教学长学姐们帮帮忙啊,用户不能重复登录问题
- Android应用 欢迎页 登录页 闪屏页 首页 按home键后 点图标重复启动问题
- 用户重复登录问题(类似QQ),第二次登录强行挤掉第一个用户。
- CAS单点登录之重复登录的问题
- vsftp是不允许root用户登录的,可以通过修改限制来解决这个问题
- 限制域中账户在不同计算机上重复登录的脚本
- pidgin qq 经常被限制登录的问题
- 由于帐户限制,您无法登陆 -- 远程桌面无法登录问题解决方法
- 解决用户注销后点击浏览器返回刷新页面重复登录的问题
- VB.net 临时表实现限制用户重复登录
- ASP.NET 2.0关于用户登录限制问题实例:防止同一用户同时登陆
- linux ssh session复制问题,实现ssh重复登录免密
- 远程桌面由于帐户限制你无法登录问题
- 注意记录Struts2关于值栈的理解,解决重复用户登录的问题
- IE8 cookie无法保存问题-----造成网站总要重复登录
- 合作开发收费系统——临时表解决用户重复登录问题
- 重复登录问题解决思路
- [版本V2.0]登录页面IP限制,不能登录问题