以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]请问QQServer的UserLogging是在什么情况下触发的? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=89943) |
||||
-- 作者:无我是天机 -- 发布时间:2016/9/1 18:02:00 -- [求助]请问QQServer的UserLogging是在什么情况下触发的? 在帮助文档中查看,说是在“有用户申请登录时触发”。可是,测试(没有使用的内置身份验证,用的外部数据源,在数据库中自建的User表)了很多遍发现一个问题:当客户端的登录用户不存在于User表中时根本就不会执行UserLogging中的代码。,总提示以下的错误(当登录的用户存在于User表中时正常,不会有这个问题): .NET Framework 版本:2.0.50727.5485
Foxtable 版本:2016.7.29.1 错误所在事件:项目,Server 详细错误信息: 索引超出了数组界限。[此贴子已经被作者于2016/9/1 18:04:23编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2016/9/1 18:15:00 -- 以后麻烦代码直接贴出来,不要截图http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=69632 1、保证登录用户名是“部门.名称”的格式 2、查询后判断一下 if dt.datarows.count > 0 then \'......其它代码 end if
|
||||
-- 作者:无我是天机 -- 发布时间:2016/9/1 19:31:00 -- 蓝版主,刚才试了还是不行,报一样的错。代码中已经按照您说的修改过了,用户名也是“部门.名称”的格式,还要烦请斑竹再帮忙看看。UserLogging中的代码见附件文档。(再补充说明一下:比如用户表中有张三、李四,那么用这两个用户名登录时,可以正常登录;但是小五在用户表中不存在,用它登录时UserLogging中的代码压根就不会执行,更不会像希望的结果那样弹出“用户名错误”的提示)
|
||||
-- 作者:Hyphen -- 发布时间:2016/9/1 20:47:00 -- Dim dt As DataTable Dim cmd As New SQLCommand cmd.C \'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\' Dim pts() As String = e.UserName.Split(".") If pts.length = 2 Then Dim dr As DataRow cmd.CommandText = "Sel ect * From {Users} where [Department] = \'" & pts(0) & "\' And [Name] = \'" & pts(1) & "\'" dt = cmd.ExecuteReader If dt.datarows.count > 0 Then dr = dt.DataRows(0) If dr("Password") <> e.Password Then \'如果密码错误 e.Message = "登录密码错误!" \'返回给登录者的提示信息 Return End If Else e.Message = "用户名错误!" \'返回给登录者的提示信息 End If End If
|
||||
-- 作者:无我是天机 -- 发布时间:2016/9/1 22:33:00 -- 谢谢楼上,问题完美解决! |