以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] 用户可视化权限设置疑问 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=67765) |
||||
-- 作者:hch -- 发布时间:2015/5/1 15:23:00 -- [求助] 用户可视化权限设置疑问 我想完成对自建立的管理系统人员分配不同权限,使他们对项目中的某个表进行编辑权限设置。参照帮助文件 “ 让不同用户处理不同的表,可视化授权的实现”及《可视化授权项目》学习,在项目中增加一个“授权表”表格式内容见截图:
此主题相关图片如下:qq截图.png 1、在项目事件LoadUserSetting中,加入如下代码: 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 Select Case User.Name Case "张三","李四" e.Cancel = True End Select 设置完成代码后,在切换不同自定义用户如张三、李四,发现代码不起作用,任何人都可编辑表《正式职工》中的信息,这是怎么回事呀,请给予明确提示 ,谢谢。 |
||||
-- 作者:sloyy -- 发布时间:2015/5/1 18:02:00 -- 明确提示 :USER外部表不存在! |
||||
-- 作者:hch -- 发布时间:2015/5/2 10:07:00 -- 是不是要建立一个外部数据源,表名程为 "user"的外部数据表,表的结构及内容就是授权表的结构和内容,然后与项目进行关联。我是初学者能否给个明确操作步骤。 |
||||
-- 作者:大红袍01 -- 发布时间:2015/5/3 21:37:00 -- 代码
User.Name要替换成_UserName User.Group要替换成_UserGroup
For Each t As Table In Tables |
||||
-- 作者:hch -- 发布时间:2015/5/4 14:40:00 -- 首先谢谢3楼老师。根据你的提示我在项目事件上替换了你提供的代码字段,测试还是不行,不知在那个地方将User.Name要替换成_UserName,User.Group替换成_UserGroup是你修改的红色标记地段吗(Select("分组名 = \'" & _UserGroup & "\'" ))我是初学者,能否在我提供测试文件上给与修改,我再下载后套用。我看帮助文件有两种方式,一种是直接在需要设置权限表的表属性加代码设定权限;另一种是根据可视化授权实现对表的编辑权限的设置。不明白到底采用那种方法才能实现我想要的结果,就是针对不同用户对不同的表有不同编辑权限。 |
||||
-- 作者:Bin -- 发布时间:2015/5/4 14:44:00 -- 在所有的地方.都需要替换掉. |
||||
-- 作者:Bin -- 发布时间:2015/5/4 14:44:00 -- 可视化权限的例子,可以满足你需求 |
||||
-- 作者:大红袍 -- 发布时间:2015/5/4 14:58:00 --
|
||||
-- 作者:hch -- 发布时间:2015/5/11 16:58:00 -- 不好意思,我还是没有弄明白不同用户处理不同表的编辑权限设置。反复看了帮助和“可视化授权”示例,在测试项目中套用可视化授权示例代码,编码放在同样事件下,根据大红袍01老师提示将 项目事件LoadUserSetting中Select("用户名 = \'" & User.Name & "\'" )改写为Select("用户名 = \'" & _User.Name & "\'" ),但测试发现权限不起作用,另外BIN老师指出在所有的地方.都需要替换掉.是指项目事件、表事件、及登录窗口、用户管理、等地方吗?8楼大红袍给的修改文件下载测试还是不行。现将测试文件再次上传,请老师们看看,给具体编写一下,谢谢
|
||||
-- 作者:大红袍 -- 发布时间:2015/5/11 19:30:00 -- 8楼没有任何问题 |