以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]怎么使用外部数据源进行用户账号密码比对?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=98792)

--  作者:aduydgd
--  发布时间:2017/4/7 10:03:00
--  [求助]怎么使用外部数据源进行用户账号密码比对?
If e.Path = "logon.htm" \'验证用户名和密码
    If e.PostValues.ContainsKey("username") AndAlso e.PostValues.ContainsKey("password"Then
        Dim Verified As Boolean \'用于标记用户是否通过了身份验证
        UserName = e.PostValues("username")
        Password = e.PostValues("password")
        If UserName = "张三" AndAlso Password = "888" Then  \'实际使用的时候,请改为从数据库读取用户名和密码进行比较
            Verified  = True
        ElseIf Username = "李四" AndAlso Password="999" Then
            Verified  = True
        End If
        If Verified Then
            UserID = Rand.NextString(16) \'生成随机用户ID
            UserName = EncryptText(UserName,"123","123") \'将用户名加密.
            Dim dr As DataRow = UserTable.Find("UserName = \'" & UserName & "\'")
            If  dr IsNot Nothing Then \'如果是重复登录,删除以前的登录信息
                dr.Delete()
            End If
            dr = UserTable.AddNew()
            dr("UserName") = UserName
            dr("UserID") = UserId
            dr("ActiveTime") = Date.Now \'记录登录时间
            wb.AppendCookie("username",UserName) \'将用户名和密码写入cookie
            wb.AppendCookie("userid",UserID)
            wb.InsertHTML("<meta http-equiv=\'Refresh\' c>") \'直接跳转到首页
            e.WriteString(wb.Build) \'生成网页
            Return \'必须的
        End If
    End If

--  作者:有点青
--  发布时间:2017/4/7 10:33:00
--  

Dim dr As DataRow = DataTables("表A").Find("用户 = \'" & userName & "\'")

If dr IsNot Nothing AndAlso dr("密码") = Password Then

    Verified  = True

End If


--  作者:baiheinet
--  发布时间:2017/4/7 12:16:00
--  
系统的里的密码可不是直接单独存的

而是这样的Group 施工部 PassWord EmIR5WBjrFGjO7SHZdBWwQ== Type 2 Role 经理

用上面的代码不行啊

--  作者:aduydgd
--  发布时间:2017/4/7 13:03:00
--  
可用
--  作者:有点蓝
--  发布时间:2017/4/7 14:11:00
--  
参考:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=98214&skin=0


--  作者:有点青
--  发布时间:2017/4/7 14:23:00
--  
以下是引用baiheinet在2017/4/7 12:16:00的发言:
系统的里的密码可不是直接单独存的

而是这样的Group 施工部 PassWord EmIR5WBjrFGjO7SHZdBWwQ== Type 2 Role 经理

用上面的代码不行啊

 

一样的意思

 

msgbox(MD5Encrypt(password))

Dim dr As DataRow = DataTables("表A").Find("用户 = \'" & userName & "\'")

If dr IsNot Nothing AndAlso dr("config") like "*" & MD5Encrypt(password) & "*" Then

    Verified  = True

End If