以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- username password usergroup 三个字段值全部符合才能进入登录,但是当前却无任何提示 求解! (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=135516) |
-- 作者:李孝春 -- 发布时间:2019/5/28 16:09:00 -- username password usergroup 三个字段值全部符合才能进入登录,但是当前却无任何提示 求解! 运行报错 .NET Framework 版本:2.0.50727.8941 Foxtable 版本:2018.10.9.1 错误所在事件:项目,HttpRequest 详细错误信息: 未将对象引用设置到对象的实例。 代码如下: Dim fl As String = "d:\\web\\" & e.path If filesys.FileExists(fl) Dim idx As Integer = fl.LastIndexOf(".") Dim ext As String = fl.SubString(idx) Select Case ext Case ".ico",".jpg",".gif",".png",".bmp",".wmf",".js",".css" ,".html",".htm",".zip",".rar" e.WriteFile(fl) Return \'这里必须返回 End Select End If Dim wb As New weui \'身份验证 Dim Verified As Boolean \'用于标记用户是否通过了身份验证 Dim UserName As String = e.Cookies("username") \'从cookie中获取用户名 Dim Password As String = e.Cookies("password") \'从cookie中获取用户密码 Dim usergroup As String = e.Cookies("usergroup") If e.Path = "logon.htm" \'如果是通过登录页面访问,从PostValues即可中提取用户名和密码 If e.PostValues.ContainsKey("username") AndAlso e.PostValues.ContainsKey("password") AndAlso e.PostValues.ContainsKey("usergroup") Then usergroup = e.PostValues("usergroup") UserName = e.PostValues("username") Password = e.PostValues("password") End If End If If UserName <>"" AndAlso Password <>"" AndAlso usergroup <>"" Then Dim dr11 As DataRow dr11 = DataTables("systemuser").SQLFind("username = \'" & username & "\'and usergroup = \'" & usergroup & "\'") If UserName = dr11("username") AndAlso Password = dr11("Password") AndAlso usergroup = dr11("usergroup") Then Verified = True End If End If If Verified AndAlso e.Path = "logon.htm" Then \'如果用户访问的是登录页,且身份验证成功 wb.AppendCookie("username",UserName) \'将用户名和密码写入cookie wb.AppendCookie("password",Password) wb.AppendCookie("usergroup",usergroup) wb.InsertHTML("<meta http-equiv=\'Refresh\' c>") \'直接跳转到首页 e.WriteString(wb.Build) \'生成网页 Return \'必须的 ElseIf Verified = False AndAlso e.Path <> "logon.htm" Then \'如果用户身份验证失败,且访问的不是登录页面 wb.InsertHTML("<meta http-equiv=\'Refresh\' c>") \'那么直接跳转到登录页面 e.WriteString(wb.Build) \'生成网页 Return \'必须的 End If Select Case e.Path Case "logon.htm" \'登录页面 wb.AddPageTitle("","pageheader","","") If e.PostValues.ContainsKey("username") AndAlso e.PostValues.ContainsKey("password") AndAlso e.PostValues.ContainsKey("usergroup") Then \'判断是否是验证失败后的重新登录 wb.AddTopTips("","toptip1","用户名或密码错误!").msec = 2000 \'如果用户通过登录按钮访问,则给用户一个2秒的提示. End If wb.AddForm("","form1","logon.htm") With wb.AddInputGroup("form1","ipg1") Dim filter11 As String = "表名 = \'干警信息\' and 列名 = \'所在单位\' and 停用 = false" Dim fdr11 As DataRow = DataTables("列项设置").Find(filter11) If fdr11 IsNot Nothing Then Dim abc11 As String=fdr11("下拉选项").replace(",", "|") .AddSelect("usergroup","所在单位","|"&abc11) End If .AddInput("username","户名","text") .AddInput("password","密码","password") End With With wb.AddButtonGroup("form1","btg1",True) .Add("btn1", "登录", "submit") End With With wb.AddPageFooter("","pf1","Copyright © ") \'.AddLink("底部链接","http://www.foxtable.com") End With e.WriteString(wb.Build) Case "exit.htm" \'退出登录 wb.DeleteCookie("username") \'清除cookie中原来的用户名和密码 wb.DeleteCookie("password") wb.DeleteCookie("usergroup") wb.InsertHTML("<meta http-equiv=\'Refresh\' c>") \'那么直接跳转到登录页面 Case "", "default.htm" \'首页 wb.AddPageTitle("","pageheader","","") With wb.AddGrid("","g1") .Add("c1","增加干警信息", "./images/TableProperty.ico", "addnewtxl.htm") .Add("c2","增加管理人员", "./images/TableProperty.ico", "adduser.htm") .Add("c3","查询干警信息", "./images/TableProperty.ico", "filter.htm") .Add("c4","增加发布信息", "./images/TableProperty.ico", "AddNew.htm") \'.Attribute = "" .Add("c5","拟新增", "./images/TableProperty.ico", " ") .Add("c6","拟新增", "./images/TableProperty.ico", " ") .Add("c7","拟新增", "./images/TableProperty.ico", "") .Add("c8","拟新增", "./images/TableProperty.ico", "") .Add("c9","拟新增", "./images/TableProperty.ico", "") .Add("c10","拟新增", "./images/TableProperty.ico", "") .Add("c11","拟新增", "./images/TableProperty.ico", "") .Add("c12","退出", "./images/exit.ico", "exit.htm") \'退出登录 End With With wb.AddPageFooter("","pf1","Copyright © ") \'.AddLink("底部链接","http://www.foxtable.com") End With e.WriteString(wb.Build) End Select e.WriteString(wb.Build) \'生成网页
[此贴子已经被作者于2019/5/28 16:19:20编辑过]
|
-- 作者:有点甜 -- 发布时间:2019/5/28 16:20:00 -- 查找之后判断一下是否找到
dr11 = DataTables("systemuser").SQLFind("username = \'" & username & "\'and usergroup = \'" & usergroup & "\'")
If dr11 isNot Nothing AndAlso UserName = dr11("username") AndAlso Password = dr11("Password") AndAlso usergroup = dr11("usergroup") Then
Verified = True
End If
|
-- 作者:李孝春 -- 发布时间:2019/5/30 12:43:00 -- 回复:(有点甜)查找之后判断一下是否找到 ... OK 谢谢! |