以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 可视化授权的实现 (http://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 |