以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何 根据用户表设置web数据库  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=170900)

--  作者:yifan3429
--  发布时间:2021/8/11 0:04:00
--  如何 根据用户表设置web数据库
Dim Verified As Boolean
If
 e.PostValues.ContainsKey("username"AndAlso e.PostValues.ContainsKey("password"Then
    
\'实际开发的时候,请改为根据用户表验证身份  要怎么处理
    
Dim username As String  = e.PostValues("username")
    Dim password As String  = e.PostValues("password")
    If username = 
"
张三" AndAlso password = "888" Then
        Verified  = True

    End 
If

End
 If
If
 Verified = False Then
    e.AppendCookie("Error",
"
用户身份验证失败!"\'通过Cookie返回错误信息.
    
Return
End
 If


图片点击可在新窗口打开查看此主题相关图片如下:企业微信截图_20210811000509.png
图片点击可在新窗口打开查看


客户端怎么组成动态用户和密码

eforeConnectOuterDataSource事件

在连接Web数据源之前,一样会触发BeforeConnectOuterDataSource事件,我们可以在这里动态合成连接字符串,合成字符串的时候,必须严格按照上述格式要求。

例如:

If e.Name = "Orders" Then
    Dim sb As New StringBuilder
    sb.AppendLine("http://127.0.0.1/DataServer.htm")
    
sb.AppendLine("-FormData-")
    sb.AppendLine("UserName:张三")
    sb.AppendLine("Password:888")
    e.ConnectionString = sb.ToString()

End
 If
[此贴子已经被作者于2021/8/11 0:08:32编辑过]

--  作者:有点蓝
--  发布时间:2021/8/11 8:38:00
--  
如果是自定义用户管理的没有办法,因为还没有登录,这个事件已经执行了。
--  作者:yifan3429
--  发布时间:2021/8/11 10:01:00
--  
就是不能用外部表吗  必须用系统内置的才行了
 内置如何动态用户呢
[此贴子已经被作者于2021/8/11 10:02:10编辑过]

--  作者:有点蓝
--  发布时间:2021/8/11 10:04:00
--  
如果是内置的用户登录功能
sb.AppendLine("UserName:" & e.user.name)

BeforeConnectOuterDataSource

这个事件是专业用户才用得着的,普通用户不需要研究它。
准备连接外部数据源的时候执行,可以在此修改连接字符串。

e参数属性:

Name:             外部数据源名称
User:             登录用户
ProjectFile:      项目文件名,含路径。
ProjectPath:      返回项目文件所在目录
ConnectionString: 返回或设置连接字符串。
HideSplashForm:  逻辑型,设为True,关闭Foxtable的启动封面。


--  作者:yifan3429
--  发布时间:2021/8/12 9:11:00
--  

在默认情况下,Foxtable的用户名、用户密码、用户分组、用户角色等数据保存在项目文件中。
在多用户环境下,增加、删除、更改用户后,需要更新各终端的项目文件,这对于大型的应用系统,特别是远程应用的时候,是一件很麻烦的事情。

不过从Foxtable 2013开始,用户可以很方便地使用外部数据表存储用户信息,要做的只是单击几次鼠标。

步骤

1、首先要在外部数据库中新建一个数据表,用于保存用户信息,这个表必须包括三列,分别是:

列名 数据类型 说明
Name 字符型 必须将此列设置为主键!
Type 整数型  
Config 备注型  

假定创建的这个表的名称为“Users”。



这样的外部数据用户也不能用web数据源吗


--  作者:有点蓝
--  发布时间:2021/8/12 9:36:00
--  
不能,因为是外部表,肯定要先触发BeforeConnectOuterDataSource加载了表,才能有登录的用户
--  作者:yifan3429
--  发布时间:2021/8/15 23:46:00
--  
那就是新增用户智能重新发布  
还是服务端必须用系统用户表 
客户端可以用外部用户数据

--  作者:yifan3429
--  发布时间:2021/9/9 18:58:00
--  
就是要单独发布一个用于web数据库程序在服务器运行。客服的通过固定的用户来链接服务器。和原来的用户并没有任何关系。是吗
--  作者:有点蓝
--  发布时间:2021/9/9 20:15:00
--  
是的