Foxtable(狐表)用户栏目专家坐堂 → 局域网环境一个用户多处登录问题


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

主题:局域网环境一个用户多处登录问题

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


加好友 发短信
等级:婴狐 帖子:29 积分:341 威望:0 精华:0 注册:2012/6/2 13:29:00
局域网环境一个用户多处登录问题  发帖心情 Post By:2012/8/9 14:18:00 [只看该作者]

局域网环境下,使用外部表Access2007数据库,如何实现让一个用户登录后,除非已经退出,否则不容许该用户在其它地方登录系统?

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


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

这个需要你自己写代码实现用户管理和登陆,进去的时候在后台数据库标记这个用户已经登陆,退出的时候清除这个标记,登陆的时候,只列出那些还未登陆的用户。

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


加好友 发短信
等级:等待验证 帖子:3855 积分:20692 威望:0 精华:5 注册:2012/6/21 14:03:00
  发帖心情 Post By:2012/8/9 14:31:00 [只看该作者]

用户已被锁定

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


加好友 发短信
等级:婴狐 帖子:29 积分:341 威望:0 精华:0 注册:2012/6/2 13:29:00
  发帖心情 Post By:2012/8/9 14:33:00 [只看该作者]

非常感谢!如果用标准的登陆界面是否可以列出那些还未登录的用户?


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


加好友 发短信
等级:婴狐 帖子:29 积分:341 威望:0 精华:0 注册:2012/6/2 13:29:00
  发帖心情 Post By:2012/8/9 15:48:00 [只看该作者]

谢谢muhua的帮助。

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


加好友 发短信
等级:等待验证 帖子:3855 积分:20692 威望:0 精华:5 注册:2012/6/21 14:03:00
  发帖心情 Post By:2012/8/9 16:25:00 [只看该作者]

用户已被锁定

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


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

做个逻辑列判断一下  如果在一段时间不能同时的话 写两个时间列判断.

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


加好友 发短信
等级:四尾狐 帖子:977 积分:6835 威望:0 精华:0 注册:2012/4/2 21:49:00
  发帖心情 Post By:2012/8/9 21:20:00 [只看该作者]

建一个登录管理表,包含登录用户、电脑名称、登录地址、登录时间、机器码(如果需要注册才能登录)、异机登录,每次登录都先从表中查找是否有同名登录用户,若无则添加记录,若有(属于不正常退出)且属本机登录,则不添加记录,只修改登录时间,若属异机登录则在异机登录中填写“是”。每次退出、切换用户都删除登录记录。

' 判断同名用户是否已经登录,并作相应处理
Dim HostName As String
HostName=System.Net.Dns.GetHostName '获得本机的机器名
Dim IPAdress As System.Net.IPAddress
IPAdress=System.Net.Dns.GetHostByName(HostName).AddressList.GetValue(0) '获得本机的IP
Dim dt2 As Date
cmd.CommandText = "Select GetDate()"
dt2 = cmd.ExecuteScalar()'服务器的日期和时间
With DataTables("登录管理")
    dr0 = .Find("登录用户= '" & _username & "'") '_Username为自定义登录时的用户名
    ' 已登录的处理
    If dr0 IsNot Nothing Then
        Dim name As String=dr0("电脑名称")
        If name<>hostname Then '异机登录
            Dim IP As String=dr0("登录地址")
            Dim rq As Date=dr0("登录时间")
            MessageBox.Show("该用户已异机登录, 请确认或联系管理员或开发者!" & vbcrlf & "其电脑名称是 " & name & vbcrlf & "其登录地址是 " & IP & vbcrlf & "其登录时间是 " & rq,"警告",MessageBoxButtons.ok,MessageBoxIcon.warning)
            e.Form.Close
            dr0("异机登录")="是"
            dr0 = .AddNew()
            dr0("登录用户")=_username
            dr0("电脑名称")=HostName
            dr0("登录地址")=IPAdress.ToString
            dr0("登录时间")=dt2
            dr0("机器码")=computerId
            dr0("异机登录")="是"
            .save()
             syscmd.project.Exit(True) 
        Else
            dr0("登录地址")=IPAdress.ToString
            dr0("登录时间")=dt2
            .save()
        End If
    Else
        '未登录的处理
        dr0 = .AddNew()
        dr0("登录用户")=_username
        dr0("电脑名称")=HostName
        dr0("登录地址")=IPAdress.ToString
        dr0("登录时间")=dt2
        dr0("机器码")=computerId
        .save()
    End If
End With

 

Dim i As Integer
' 在退出系统的菜单按钮代码前和关闭项目事件前的代码中用到下列代码,以保证用户登录记录删除成功
'MainTable=Tables("登录管理")
'With CurrentTable
'    i = .Findrow("登录用户= '" & _username & "'",0,False)
'    If i>-1 andalso .rows(i)("异机登录") ="" Then
'        .Rows(i).Delete()
'        DataTables("登录管理").save() '在登录窗口的"退出"按钮中也要增加该保存命令
'    End If
'End With



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


加好友 发短信
等级:婴狐 帖子:29 积分:341 威望:0 精华:0 注册:2012/6/2 13:29:00
  发帖心情 Post By:2012/8/20 11:39:00 [只看该作者]

你好!切换用户时如何将原用户登录的信息删除?

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


加好友 发短信
等级:等待验证 帖子:3855 积分:20692 威望:0 精华:5 注册:2012/6/21 14:03:00
  发帖心情 Post By:2012/8/20 14:44:00 [只看该作者]

用户已被锁定

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