以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  移动开发中登录安全如何改?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=109150)

--  作者:playmal
--  发布时间:2017/11/5 21:51:00
--  移动开发中登录安全如何改?
甜版,测试移动开发项目一直用的,张三,李四登录,现在想直接用企业微信中的用户登录了,需要在SQL里面增加user表吗?还是直接改为帮助里面的“让登录变得更安全”里面的代码。
--  作者:playmal
--  发布时间:2017/11/5 21:53:00
--  
If UserTable Is Nothing Then \'创建用于记录登录信息的临时表
    ClearTime = Date.Now()
    Dim dtb As New DataTableBuilder("UserInfos")
    dtb.AddDef("UserName", Gettype(String), 16)
    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 Verified As Boolean \'用于标记用户是否通过了身份验证
Dim UserName As String = e.Cookies("username") \'从cookie中获取用户名
Dim Password As String = e.Cookies("password") \'从cookie中获取用户密码
If e.Path = "logon.htm" \'如果是通过登录页面访问,从PostValues即可中提取用户名和密码
    If e.PostValues.ContainsKey("username") AndAlso e.PostValues.ContainsKey("password")  Then
        UserName = e.PostValues("username")
        Password = e.PostValues("password")
    End If
End If
If UserName = "张三" AndAlso Password = "888" Then  \'实际使用的时候,请改为从数据库读取用户名和密码进行比较
    Verified  = True
ElseIf Username = "李四" AndAlso Password="999" Then
    Verified  = True
End If
If Verified AndAlso e.Path = "logon.htm"  Then \'如果用户访问的是登录页,且身份验证成功
    wb.AppendCookie("username",UserName) \'将用户名和密码写入cookie
    wb.AppendCookie("password",Password)
    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


--  作者:playmal
--  发布时间:2017/11/5 21:53:00
--  
请教甜版,目前使用上述代码?到底怎么改?
--  作者:有点甜
--  发布时间:2017/11/5 23:33:00
--  

做一个用户表吧。

 

http://www.foxtable.com/mobilehelp/scr/0185.htm

 

登陆同样适用【让登录变得更安全】的做法。验证用户名密码,改成查询用户表即可。


--  作者:playmal
--  发布时间:2017/11/6 5:23:00
--  
是用获取单个用户信息这一段替换上面哪一段?
--  作者:playmal
--  发布时间:2017/11/6 7:07:00
--  
我的意思是,在手机上登录一般都是自己,不会用别人手机登录,一般情况下,输入一次就不用再输入,就用上面的代码怎么改。
--  作者:playmal
--  发布时间:2017/11/6 7:22:00
--  
还有就是,是在企业微信里面,都是按照单位和部门已经分好的,可否设置不同的人员,不同的权限,登录进去看到的主页面也不同,毕竟不能让所有的人都进系统内可以输入,导出等等,多数都是查询,浏览。
--  作者:playmal
--  发布时间:2017/11/6 7:24:00
--  
甜版,还有你给我的例子多数是公众号,现在我问的是企业微信,也就是微信企业号,微信企业号已经升级为“”企业微信了“”。
--  作者:有点甜
--  发布时间:2017/11/6 9:20:00
--  
以下是引用playmal在2017/11/6 7:07:00的发言:
我的意思是,在手机上登录一般都是自己,不会用别人手机登录,一般情况下,输入一次就不用再输入,就用上面的代码怎么改。

 

不要用上面的代码,直接用这个 http://www.foxtable.com/mobilehelp/scr/0138.htm

 

加上cookie,把你的账号密码保存到cookie即可 http://www.foxtable.com/mobilehelp/scr/0042.htm

 

 


--  作者:有点甜
--  发布时间:2017/11/6 9:21:00
--  
以下是引用playmal在2017/11/6 5:23:00的发言:
是用获取单个用户信息这一段替换上面哪一段?

 

做一个users表,然后find查找账号密码,看是否通过验证