Foxtable(狐表)用户栏目专家坐堂 → [求助]移动端登录后又跳转至登录页面


  共有2477人关注过本帖树形打印复制链接

主题:[求助]移动端登录后又跳转至登录页面

帅哥哟,离线,有人找我吗?
188802386
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:629 积分:4927 威望:0 精华:0 注册:2014/2/25 15:50:00
[求助]移动端登录后又跳转至登录页面  发帖心情 Post By:2017/5/19 14:24:00 [只看该作者]

登录后也没任何提示 还看到网址在跳转至首页,应该是数据库连通并且用户名密码正确,但是登陆后又调到登录界面,代码如下,请问谁知道问题出在哪
Static UserTable As DataTable '定义一个变量,用于存储用户随机身份ID,以及最后一次活动时间.
Static ClearTime As Date
Dim Verified As Boolean '用于标记用户是否通过了身份验证
If UserTable Is Nothing Then '创建用于记录登录信息的临时表
    ClearTime = Date.Now()
    Dim dtb As New DataTableBuilder("UserInfos")
    dtb.AddDef("UserName",Gettype(String),32)
    dtb.AddDef("UserID",Gettype(String),16)
    dtb.AddDef("ActiveTime",Gettype(Date))
    UserTable = dtb.Build(True)
End If
If (Date.Now - ClearTime).TotalMinutes >= 30 Then '清除超过30分钟没有操作的登录信息
    UserTable.DeleteFor("ActiveTime < #" & Date.Now.AddMinutes(-30) & "#")
    ClearTime = Date.Now()
End If
'通用事件头
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 ".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 UserName As String
Dim Password As String
Dim UserID As String
Dim dr As DataRow = UserTable.Find("UserName = '" & UserName & "'")
If e.Path = "logon.htm" '验证用户名和密码
    If e.PostValues.ContainsKey("username") AndAlso e.PostValues.ContainsKey("password")  Then
        UserName = e.PostValues("username")
        Password = e.PostValues("password")
        Dim cmd As New SQLCommand
        cmd.C
        cmd.CommandText = "SELECT * Fr om {员工管理} Where [name] = '" & username & "'"
        _UserTable = cmd.ExecuteReader
        If _UserTable.DataRows.count > 0 Then
            If password = _userTable.DataRows(0)("password") Then
                Verified  = True
            End If
        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
Else '其它页面从Cookie提取登录信息进行验证
    UserName = e.Cookies("username")  '从cookie中获取用户名
    UserID = e.Cookies("userid")  '从cookie中获取 随机ID
    'Dim dr As DataRow = UserTable.Find("UserName = '" & UserName & "'")
    If dr IsNot Nothing AndAlso dr("UserID") = UserID Then  '如果通过验证,更新活动时候,继续访问其它页面.
        dr("ActiveTime") = Date.Now '更新活动时间
    Else '如果验证失败
        wb.InsertHTML("<meta http-equiv='Refresh' c>") '那么直接跳转到登录页面
        e.WriteString(wb.Build) '生成网页
        Return '必须的
    End If
End If
'开始生成网页

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111418 积分:567166 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/5/19 15:17:00 [只看该作者]

 UserName = e.Cookies("username")  '从cookie中获取用户名
    UserID = e.Cookies("userid")  '从cookie中获取 随机ID
    Dim dr As DataRow = UserTable.Find("UserName = '" & UserName & "'") ‘去掉注释
    If dr IsNot Nothing AndAlso dr("UserID") = UserID Then  '如果通过验证,更新活动时候,继续访问其它页面.
        dr("ActiveTime") = Date.Now '更新活动时间
    Else '如果验证失败
        wb.InsertHTML("<meta http-equiv='Refresh' c>") '那么直接跳转到登录页面
        e.WriteString(wb.Build) '生成网页
        Return '必须的
    End If

 回到顶部