以文本方式查看主题

-  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=34355)

--  作者:wqb1102
--  发布时间:2013/6/6 10:45:00
--  可视化授权的实现
在  可视化授权的实现 中开发者是否需要授权?
--  作者:XYT
--  发布时间:2013/6/6 10:47:00
--  
开发者不用,拥有全部权限
--  作者:wqb1102
--  发布时间:2013/6/6 10:49:00
--  
可我在项目中以开发者登陆后,除权限表外其他表都隐藏了;以其他分组名登陆其他表可见
[此贴子已经被作者于2013-6-6 10:49:41编辑过]

--  作者:XYT
--  发布时间:2013/6/6 10:50:00
--  
你那些表本来就是隐藏了吧
--  作者:wqb1102
--  发布时间:2013/6/6 10:52:00
--  
用户管理中的用户分组和授权表中的分组名是否一致?
--  作者:XYT
--  发布时间:2013/6/6 10:57:00
--  

用户管理中的用户分组  是你自己建立的

帮助的授权表中是用系统的自带的用户管理设置的

[此贴子已经被作者于2013-6-6 10:56:49编辑过]

--  作者:wqb1102
--  发布时间:2013/6/6 11:02:00
--  
表隐藏我想是因为设置:
For Each t As Table In Tables
    t.Visible = 
False 
    t.AllowEdit = 
true

    For
 Each c As Col In t.Cols
        c.Visible = 
True
        c.AllowEdit = 
True
    Next

Next
把:t.Visible =   True 改成了 False

--  作者:wqb1102
--  发布时间:2013/6/6 11:04:00
--  
所以连开发者都需授权才能看见其他表
--  作者:XYT
--  发布时间:2013/6/6 11:07:00
--  
这个不是授权,这个隐藏无论授权不授权都是隐藏的,因为你都没有判断什么情况才隐藏
--  作者:wqb1102
--  发布时间:2013/6/6 11:16:00
--  
那要如何修改代码来判断当开发者登陆时不隐藏。
For Each t As Table In Tables
    t.Visible = 
True
    t.AllowEdit = 
true

    For
 Each c As Col In t.Cols
        c.Visible = 
True
        c.AllowEdit = 
True
    Next

Next
Tables
("授权表").Visible = (User.Type <> UserTypeEnum.User )
If
 User.Type = UserTypeEnum.User Then
    
For Each dr As DataRow In DataTables("授权表").Select("分组名 = \'" & User.Group & "\'" )
        If
 dr.IsNull("列名"
Then
            
Tables(dr("表名")).Visible = Not dr("不可见")
            Tables
(dr("表名")).AllowEdit = Not dr("不可编辑")

        Else
            
Tables(dr("表名")).Cols(dr("列名")).Visible = Not dr("不可见")
            Tables
(dr("表名")).Cols(dr("列名")).AllowEdit = Not dr("不可编辑"
        End
 
If
    Next
End
 
If