以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  可视化授权的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=178216)

--  作者:wukangppbb
--  发布时间:2022/6/23 16:10:00
--  可视化授权的问题

老师,咨询一下,我按照 可视化授权的实现 那一章设置了 授权表。 的确可以控制用户的查看与编辑表的权限。



但是如果 主页存在导航按钮,该 用户还是可以用导航按钮进去,怎么控制 该用户无法查看 窗口表 呢?





--  作者:有点蓝
--  发布时间:2022/6/23 16:13:00
--  
同样的方法,控制导航按钮咯。没有权限的按钮就隐藏
--  作者:wukangppbb
--  发布时间:2022/6/23 17:07:00
--  回复:(有点蓝)同样的方法,控制导航按钮咯。没有权...

是在授权表里面增加一列“窗口名”吗?

还是另外再搞个“窗口授权表”?
直接控制菜单http://www.foxtable.com/webhelp/scr/2438.htm   的话,得一个个写代码,可以做窗口的可视化授权吗?


--  作者:有点蓝
--  发布时间:2022/6/23 17:13:00
--  
可以在授权表里用,表名存窗口名,列名存控件名,或者任务名称。当然也可以新建一个表,这个自行测试哪个合适自己。

用法和可视化授权一样的,查询用户有权限的任务,然后动态添加到任务栏里,比如:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=160351&skin=0

--  作者:wukangppbb
--  发布时间:2022/6/24 16:26:00
--  回复:(有点蓝)可以在授权表里用,表名存窗口名,列...
老师,问一下,这个权限设置,是否可以按照可视化设置那样添加“不可见”?

按照常理,没有授权的窗口应该是打不开的,这个在没有授权的情况下一样可以打开窗口,应该怎么设置才好?

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:权限.foxdb



--  作者:有点蓝
--  发布时间:2022/6/24 16:47:00
--  
测试没有问题啊

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


--  作者:wukangppbb
--  发布时间:2022/6/24 16:51:00
--  回复:(有点蓝)测试没有问题啊[upload=png,1.png]Up...
“测试窗口”为啥打不开呢?
--  作者:有点蓝
--  发布时间:2022/6/24 16:56:00
--  
有打开啊,切换到表C


--  作者:wukangppbb
--  发布时间:2022/7/4 16:53:00
--  回复:(有点蓝)有打开啊,切换到表Chttp://www.foxt...
老师:
      这种授权方式好像得把每个窗口都把授权代码写进去才能控制。比表格式授权又麻烦一些。


图片点击可在新窗口打开查看

--  作者:wukangppbb
--  发布时间:2022/7/4 17:03:00
--  回复:(有点蓝)有打开啊,切换到表Chttp://www.foxt...
老师:
      我模拟这个树形授权的时候。预览窗口,窗口的after load事件老是报错。

Dim tr As WinForm.TreeView
Dim nd As WinForm.TreeNode
tr = e.Form.Controls("用户")
nd = Tr.Nodes.Add("所有用户","所有用户")
For Each u As UserInfo In Users
    If u.Type = UserTypeEnum.User Then
        If tr.Nodes("所有用户").Nodes.Contains(u.Group) = False Then
            tr.Nodes("所有用户").Nodes.Add(u.Group)
        End If
        tr.Nodes("所有用户").Nodes(u.Group).Nodes.Add(u.Name)
    End If
Next
tr.ExpandAll

Dim tr1 As WinForm.TreeView
Dim nd1 As WinForm.TreeNode
tr1 = e.Form.Controls("模块")
nd1= Tr1.Nodes.Add("所有模块","所有模块")
nd1.Nodes.Add("所有表")
For Each dt As DataTable In DataTables
    If dt.Name <>"权限表" AndAlso dt.name <> "权限明细" Then
        tr1.Nodes("所有模块").Nodes("所有表").Nodes.Add(dt.Name)
    End If
Next
nd1.Nodes.Add("所有窗口")
For Each frm As WinForm.Form In Forms
    If frm.Name <> "权限设置" AndAlso frm.name <> "导航窗口" Then
        tr1.Nodes("所有模块").Nodes("所有窗口").Nodes.Add(frm.Name)
    End If
Next
tr1.ExpandAll



图片点击可在新窗口打开查看