以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  关于局域网用户登陆问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=161846)

--  作者:weipeng6999
--  发布时间:2021/3/31 16:01:00
--  关于局域网用户登陆问题
老师好!

   我想在局域网中不允许相同用户名在不同电脑上登陆,请问代码要如何写。


测试中发现一个用户名可以登陆多台电脑
[此贴子已经被作者于2021/3/31 16:02:19编辑过]

--  作者:有点蓝
--  发布时间:2021/3/31 16:35:00
--  
登录的时候记录一下电脑IP或者网卡地址:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=59092

然后判断是不是同一个IP或者网卡地址

--  作者:weipeng6999
--  发布时间:2021/3/31 16:42:00
--  
蓝老师好,我还是新手,能不能提供下学习代码
--  作者:有点蓝
--  发布时间:2021/3/31 16:54:00
--  
改为使用自定义用户管理:http://www.foxtable.com/webhelp/topics/2048.htm

在用户表增加一个mac列,打开登录窗口的时候,根据2楼的方法获取电脑mac地址,到用户表查询,如果已经有记录就提示并退出;如果没有记录就确定的时候把mac地址存入用户表

--  作者:weipeng6999
--  发布时间:2021/4/2 11:14:00
--  
老师好!
1、我要怎么根据不同的用户登录写入MAC码?比如:张三登录,MAC就写在张三那行。
2、我退出项目的时候怎么删除本次登录用户的MAC?请指点

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试网络.rar


\'------------------------获取本机MAC码-----------------------------------------------
Dim nics() As System.Net.NetworkInformation.NetworkInterface = System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces
Tables("users").current("mac") = nics(0).GetPhysicalAddress.Tostring
\'----------------------------------------------------------------------------------------
获取MAC我是写在用户登录窗口里的。

现在贴出代码字数过多,就报错发表不了。是我浏览器的问题吗?
[此贴子已经被作者于2021/4/2 11:41:00编辑过]

--  作者:有点蓝
--  发布时间:2021/4/2 12:02:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试网络.zip


--  作者:weipeng6999
--  发布时间:2021/4/2 14:24:00
--  
老师,我在局域网中测试这段代码还是不能提示:此用户已在其它电脑登录。我在局域网中新增用户和删除用户是可以的。

If e.Form.Controls("PassWord").Value = dr("Password") Then
    Dim mac As String = System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces()(0).GetPhysicalAddress.Tostring
    If dr.Isnull("mac") = False
        If dr("mac") <> mac Then
            Messagebox.show("此用户已在其它电脑登录!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
            Return
        End If
    Else
        dr("mac") = mac
    End If

--  作者:有点蓝
--  发布时间:2021/4/2 14:27:00
--  
其它电脑登录后有保存mac地址吗?

Dim mac As String = System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces()(0).GetPhysicalAddress.Tostring
msgbox(mac)
msgbox(dr("mac")

--  作者:weipeng6999
--  发布时间:2021/4/2 14:35:00
--  
其他电脑登录有保存mac,但是是直接把以前保存的MAC覆盖掉了,所以还是没有提示
--  作者:有点蓝
--  发布时间:2021/4/2 14:45:00
--  
6楼的例子我测试没有问题,请上传有问题的实例说明