Foxtable(狐表)用户栏目专家坐堂 → 如何 根据用户表设置web数据库


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

主题:如何 根据用户表设置web数据库

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:22812 威望:0 精华:0 注册:2011/3/29 17:14:00
如何 根据用户表设置web数据库  发帖心情 Post By:2021/8/11 0:04:00 [只看该作者]

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编辑过]

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


加好友 发短信
等级:超级版主 帖子:109502 积分:557178 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/8/11 8:38:00 [只看该作者]

如果是自定义用户管理的没有办法,因为还没有登录,这个事件已经执行了。

 回到顶部
帅哥哟,离线,有人找我吗?
yifan3429
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:22812 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2021/8/11 10:01:00 [只看该作者]

就是不能用外部表吗  必须用系统内置的才行了
 内置如何动态用户呢
[此贴子已经被作者于2021/8/11 10:02:10编辑过]

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


加好友 发短信
等级:超级版主 帖子:109502 积分:557178 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/8/11 10:04:00 [只看该作者]

如果是内置的用户登录功能
sb.AppendLine("UserName:" & e.user.name)

BeforeConnectOuterDataSource

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

e参数属性:

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


 回到顶部
帅哥哟,离线,有人找我吗?
yifan3429
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:22812 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2021/8/12 9:11:00 [只看该作者]

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

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

步骤

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

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

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



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


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


加好友 发短信
等级:超级版主 帖子:109502 积分:557178 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/8/12 9:36:00 [只看该作者]

不能,因为是外部表,肯定要先触发BeforeConnectOuterDataSource加载了表,才能有登录的用户

 回到顶部
帅哥哟,离线,有人找我吗?
yifan3429
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:22812 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2021/8/15 23:46:00 [只看该作者]

那就是新增用户智能重新发布  
还是服务端必须用系统用户表 
客户端可以用外部用户数据

 回到顶部
帅哥哟,离线,有人找我吗?
yifan3429
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:22812 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2021/9/9 18:58:00 [只看该作者]

就是要单独发布一个用于web数据库程序在服务器运行。客服的通过固定的用户来链接服务器。和原来的用户并没有任何关系。是吗

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


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

是的

 回到顶部