防止多用户登陆同一账号及出现异常关闭软件现象
2012-11-06 22:00
288 查看
防止多用户登陆同一账号当遇到异常关闭软件时怎么处理,想了好久才想到这个办法,我觉得还可以。
在数据库中对登陆者表工作记录的表WorkLog中,可以设置两个字段,一个字段设置为登陆者的登陆状态为WorkStatus ,一个字段可以设为软件的运行状态为SoftStatus。都将其设置成Boolean,将软件在线和用户在线都定义为True,只在两者都为True时,才可以限制其登陆。
在登陆代码中可以进行如下判断:
'定义记录集对象
Dim rs As ADODB.Recordset
'用于存放sql语句
Dim strtxtSQL As String
'用来返回记录集信息
Dim strMsgtext As String
strtxtSQL = "select * fromWorklog_Info where serial=(select max(serial) from Worklog_Info where UserID='" &txtUserName.Text & "' ) "
Set rs = ExecuteSQL(strtxtSQL, strMsgtext)
If rs.EOF = False Then
If Trim(rs.Fields(SoftStatus)) = true AndTrim(rs.Fields(WorkStatus)) = True Then
MsgBox "对不起该用户已经登陆,不能重复登陆!",vbOKOnly + vbExclamation, "警告"
Exit Sub
rs.Close
End If
End If
在结束软件时,代码如下:
'定义记录集对象
Dim rs As ADODB.Recordset
'用于存放sql语句
Dim strtxtSQL As String
'用来返回记录集信息
Dim strMsgtext As String
strtxtSQL = "select * fromWorklog_Info where serial=(select max(serial) from Worklog_Info where UserID='" &txtUserName.Text & "' ) "
Set rs = ExecuteSQL(strtxtSQL, strMsgtext)
rs.Fields(SoftStatus) =False
rst.Fields(WorkStatus) = False
rs.Update
rs.Close
当然为了安全起见还可以在异常关闭软件的情况下,当再次运行时,可以进行验证登陆得ip等相关信息,以保证用户信息的安全。
在数据库中对登陆者表工作记录的表WorkLog中,可以设置两个字段,一个字段设置为登陆者的登陆状态为WorkStatus ,一个字段可以设为软件的运行状态为SoftStatus。都将其设置成Boolean,将软件在线和用户在线都定义为True,只在两者都为True时,才可以限制其登陆。
在登陆代码中可以进行如下判断:
'定义记录集对象
Dim rs As ADODB.Recordset
'用于存放sql语句
Dim strtxtSQL As String
'用来返回记录集信息
Dim strMsgtext As String
strtxtSQL = "select * fromWorklog_Info where serial=(select max(serial) from Worklog_Info where UserID='" &txtUserName.Text & "' ) "
Set rs = ExecuteSQL(strtxtSQL, strMsgtext)
If rs.EOF = False Then
If Trim(rs.Fields(SoftStatus)) = true AndTrim(rs.Fields(WorkStatus)) = True Then
MsgBox "对不起该用户已经登陆,不能重复登陆!",vbOKOnly + vbExclamation, "警告"
Exit Sub
rs.Close
End If
End If
在结束软件时,代码如下:
'定义记录集对象
Dim rs As ADODB.Recordset
'用于存放sql语句
Dim strtxtSQL As String
'用来返回记录集信息
Dim strMsgtext As String
strtxtSQL = "select * fromWorklog_Info where serial=(select max(serial) from Worklog_Info where UserID='" &txtUserName.Text & "' ) "
Set rs = ExecuteSQL(strtxtSQL, strMsgtext)
rs.Fields(SoftStatus) =False
rst.Fields(WorkStatus) = False
rs.Update
rs.Close
当然为了安全起见还可以在异常关闭软件的情况下,当再次运行时,可以进行验证登陆得ip等相关信息,以保证用户信息的安全。
相关文章推荐
- Asp.Net中防止出现用户重复登陆
- 防止用户用同一账号多人同时登陆的方法 补充一
- 纯php文件 关闭标签?>可以不写 防止末尾出现异常的空格什么的。。。
- 编程之惑-客户端关闭服务器出现异常的现象。
- Python代码实现Java本地化资源字符串的检查,防止出现空指针异常
- HttpClient 异常出现不关闭引发的血案
- asp.net 2.0防止同一用户同时登陆
- 防止用户重复登陆的验证方法
- 创建weblogic启动文件,防止出现关闭控制台服务被关掉
- 关闭SQL SERVER用户进程,防止因为用户正在使用数据库,导致数据库恢复或删除失败
- 如何防止用一用户同时登陆
- asp.net 2.0防止同一用户同时登陆
- 运行dxp.exe运行时,软件出现:应用程序发生异常 未知的软件异常 (0x0eedfade),位置为 0x7c812afb的处理方法
- WordPress中登陆后关闭登陆页面及设置用户不可见栏目
- ASP.NET 2.0防止同一用户同时登陆
- ASP.NET2.0实现防止同一用户同时登陆
- (转)一套.net窗体身份验证方案(解决了防止用户重复登陆,session超时等问题)
- 研究建议Google桌面软件用户关闭文件共享
- xp新建用户后登陆界面不显示Administrator账号
- 测试app,需要注意,在所有的页面关闭屏幕再打开会不会出现异常