以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 请教权限管理问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=41028) |
||||
-- 作者:sxqq123 -- 发布时间:2013/10/9 16:14:00 -- 请教权限管理问题
我在设计窗口表和表的编辑功能权限时,代码如下: If User.Type = UserTypeEnum.User Then 加上上面红字,全部表不能编辑,去掉红字,全部表都能编辑,请教大师指点如何实现用户对不同表和窗口表的编辑权限设置。 |
||||
-- 作者:Bin -- 发布时间:2013/10/9 16:17:00 -- http://www.foxtable.com/help/topics/1600.htm |
||||
-- 作者:sxqq123 -- 发布时间:2013/10/9 19:48:00 -- 想实现张三能够编辑窗口2_Table1、表B、表D,不能编辑窗口1_Table1、表C、表E,经过多次调整还是不能达到目标,请老师指教
|
||||
-- 作者:有点甜 -- 发布时间:2013/10/9 20:03:00 -- 如下代码。 If User.Type = UserTypeEnum.Developer Then For Each t As Table In Tables t.Visible = True t.AllowEdit = True Next End If Forms("窗口1").open Forms("窗口1").visible=False Forms("窗口2").open Forms("窗口2").visible=False If User.Type = UserTypeEnum.User Then For Each t As Table In Tables If t.Name.Contains("_") Then Dim ary() As String = t.Name.Split("_") Dim fdr As DataRow = DataTables("权限管理").Find("用户名 = \'" & User.Name & "\' and 窗口 = \'" & ary(0) & "\' and 表名 = \'" & ary(1) & "\'") If fdr IsNot Nothing Then t.AllowEdit = fdr("可编辑") Else t.AllowEdit = False End If End If t.AllowEdit = False Dim dr As DataRow = DataTables("权限管理").Find("用户名 = \'" & user.Name & "\' and 表名 = \'" & t.Name & "\'") If dr IsNot Nothing Then t.AllowEdit = dr("可编辑") Else t.AllowEdit = False End If Next End If |
||||
-- 作者:sxqq123 -- 发布时间:2013/10/9 20:40:00 -- 执行过程中遇到以下问题麻烦指教: 1、新增用户应该是执行 t.AllowEdit = False,但是新增用户拥有全部编辑功能, 2、打开窗口的主表没有加载,如何处理? 3、李三对两个窗口表都不能编辑。 |
||||
-- 作者:有点甜 -- 发布时间:2013/10/9 20:57:00 -- 第一个问题不存在,你重新打开项目试一下。 第二个问题,对于窗口表,权限写在窗口的afterload中。每个窗口打开后,自动执行一个内部函数(自己设计的权限),去限制窗口表。 第三个问题,看第二个问题的处理。在afteropenproject执行权限后,若窗口关闭重新打开,权限是失效的。
|
||||
-- 作者:sxqq123 -- 发布时间:2013/10/9 21:36:00 -- 我完全按照上述代码进行权限设置,使用外部表只做了一点改动:用户名 = \'" & User.Name & "\' 改为用户名 = \'" & _UserName & "\' 项目执行结果是:没有给权限的用户可以编辑好多表,设置某个表只有某个用户可以编辑却实现不了,请教可能是什么原因?我再好好排查,谢谢 |
||||
-- 作者:sxqq123 -- 发布时间:2013/10/10 17:22:00 --
麻烦老师指教对没有加载表如何进行权限设置,非常感谢BIN老师和有点甜老师的指教。 |