Foxtable(狐表)用户栏目专家坐堂 → [分享]限制用户用同一个账户只能登陆1个客户端


  共有11318人关注过本帖树形打印复制链接

主题:[分享]限制用户用同一个账户只能登陆1个客户端

帅哥哟,离线,有人找我吗?
qq121454970
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:880 积分:9011 威望:0 精华:3 注册:2012/4/22 18:06:00
[分享]限制用户用同一个账户只能登陆1个客户端  发帖心情 Post By:2012/7/1 23:06:00 [只看该作者]

在用户表中添加一列,名为“最近在线”,该代码只适用自定义用户哦,可以自行修改,必须小于登陆窗口的秒数
在计划管理中增加一个计划
在计划中加入以下代码(计划管理间隔设为10秒),可自行调整
Dim s As String = Date.now()
Dim cmd As New SQLCommand
cmd.C
cmd.CommandText = "Update {Users} Set [最近在线] = '" & s & "'Where [Name]= '" & _UserName & "'"
If cmd.ExecuteNonQuery = 1 Then
End If

在用户登录窗口中的提交按钮中代码改成,有点事,不提取出来了,不好意思哦,要的话会提出来的
Dim UserName As String = e.Form.Controls("UserName").Value
Dim cmd As New SQLCommand
Dim dt As DataTable
Dim dr1 As DataRow
cmd.C
If UserName = ""  Then
    Messagebox.show("请选择用户!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If
Cmd.CommandText = "Select * From {Users} Where [Name] = '" & UserName & "'"
If cmd.ExecuteScalar() = 0 Then
    Dim Result As DialogResult
    Result = MessageBox.Show("您输入的用户名或者密码错误,请重新输入!", "提示", MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If
cmd.CommandText = "Select * From {Users} Where [Name] = '" & UserName & "'"
dt = cmd.ExecuteReader
dr1 = dt.DataRows(0)
If e.Form.Controls("PassWord").Value = dr1("Password") Then
    If dt.DataRows.Count = 1 Then
        Dim d1 As Date = dt.DataRows(0)("最近在线")
        Dim d2 As Date = Date.now()
        Dim t As TimeSpan = d2 - d1
        If t.TotalSeconds >= 30 Then ‘ 30是秒数,就是用户在30秒没有报道的话,会被系统认为退出,计划管理是10秒执行一次,具体自己修改即可
            _UserName = UserName
            _UserGroup = dr1("Group")
            Dim s As String = e.Form.Controls("UserName").Value '这段代码是用来保存用户名的
            FileSys.WriteAllText("c:\UserName.txt", s, False, Encoding.Default)
            e.Form.Close
        Else
            MessageBox.Show("此用户已登录!","提示",MessageBoxButtons.OK)
        End If
    End If
Else
    Messagebox.show("您输入的用户名或者密码错误,请重新输入!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If


一直劳烦大家帮我,这个就算我对大家一小点的心意吧,如果有不对的地方,还请指点哦,小弟才疏学浅,,呵呵
[此贴子已经被作者于2012-7-1 23:10:03编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
sunbrain
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:383 积分:2439 威望:0 精华:0 注册:2011/12/3 22:19:00
  发帖心情 Post By:2012/7/1 23:35:00 [只看该作者]

谢谢分享,很受用

 回到顶部
帅哥哟,离线,有人找我吗?
zjslf003
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:71 积分:739 威望:0 精华:0 注册:2012/5/19 21:16:00
  发帖心情 Post By:2012/7/2 0:30:00 [只看该作者]

图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
ljz
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:273 积分:3406 威望:0 精华:0 注册:2012/4/20 16:43:00
  发帖心情 Post By:2013/4/27 22:18:00 [只看该作者]

收藏

 


 回到顶部
帅哥哟,离线,有人找我吗?
rjh4078
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3370 积分:24858 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2013/4/27 22:26:00 [只看该作者]

感谢分享

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2013/4/28 7:57:00 [只看该作者]

貌似加个逻辑列判断下就可以了

 回到顶部
帅哥哟,离线,有人找我吗?
qq121454970
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:880 积分:9011 威望:0 精华:3 注册:2012/4/22 18:06:00
  发帖心情 Post By:2013/4/28 9:28:00 [只看该作者]

以下是引用blackzhu在2013-4-28 7:57:00的发言:
貌似加个逻辑列判断下就可以了

异常退出的话,就不方便了呢


 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2013/4/28 9:39:00 [只看该作者]

呵呵 这个倒是的,但是有超级管理员的呀.

 回到顶部
帅哥,在线噢!
狐狸爸爸
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/4/28 11:15:00 [只看该作者]

谢分享。

 

图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
qq121454970
  10楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:880 积分:9011 威望:0 精华:3 注册:2012/4/22 18:06:00
  发帖心情 Post By:2013/4/28 15:21:00 [只看该作者]

以下是引用blackzhu在2013-4-28 9:39:00的发言:
呵呵 这个倒是的,但是有超级管理员的呀.

超级管理员管这事,还不如直接在客户端完成呢图片点击可在新窗口打开查看


 回到顶部
总数 12 1 2 下一页