以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  OPENQQ登陆控制问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=78507)

--  作者:黑苹果
--  发布时间:2015/12/10 14:54:00
--  OPENQQ登陆控制问题

Dim pts() As String = e.UserName.Split(".")
Dim
dr As DataRow
dr
= DataTables("用户").Find("部门 = \'" & pts(0) & "\' And 姓名 = \'" & pts(1) & "\'")
If
dr Is Nothing  Then \'判断此用户不存在
    e.Message  =
"
用户名错误!" \'返回给登录者的提示信息
    Return

End
If
If
dr("密码") <> e.Password Then \'如果密码错误
   
e.Message  = "登录密码错误!" \'返回给登录者的提示信息
   
Return

End
If
e
.Success = True \'允许用户登录
\'添加存储在好友列的非本部门的好友

If
dr.IsNull("好友") = False Then
    Dim nms() As String = dr(
"
好友").Split(",")
    e.Buddies.AddRange(nms)

End
If
\'最后添加相同部门的同事为好友

For
Each dr In DataTables("用户").Select("部门 = \'" & pts(0) & "\'")
    Dim nm As String =  dr("部门") & "." & dr("姓名")
    If nm <> e.UserName Then \'如果不是登录者本人
       
e.Buddies.Add(nm)
    End
If

Next



这个登陆程序 只要用户名 密码正确就登陆了,就把原先的用户踢了


我想做个在登陆之前进行 该用户是否在线的控制,如果在线则不能登陆,并返回告诉人员这个账号在哪一台上已登陆了,你不能登陆系统



--  作者:大红袍
--  发布时间:2015/12/10 15:08:00
--  

For Each User As QQUser In QQserver.Users
    If user.name = e.UserName Then
        e.Message  = "用户已登陆,ip地址:" & user.LanIPAddress \'返回给登录者的提示信息
        Return
    End If
Next