以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助] 可视化授权的问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=52956) |
||||
-- 作者:wumingrong1 -- 发布时间:2014/6/26 11:36:00 -- [求助] 可视化授权的问题 我的项目是采用外部用户表作为登录用户表;现在我希望实现:1、通过授权表根据用户名、表名、列名的随意组合来控制某用户的不可见或者不可编辑权限;2、通过授权表根据分组名 、表名、列名的随意组合来控制某用户的不可见或者不可编辑权限。在项目属性LoadUserSetting事件中该如何设置命令
|
||||
-- 作者:Bin -- 发布时间:2014/6/26 11:41:00 -- 帮助有例子http://www.foxtable.com/help/topics/1600.htm |
||||
-- 作者:wumingrong1 -- 发布时间:2014/6/26 15:00:00 -- 我看了,我用的是外部数据表做登录用户表;以下命令不太理解该怎么处理 Tables("授权表").Visible = (User.Type <> UserTypeEnum.User )
If User.Type = UserTypeEnum.User Then |
||||
-- 作者:Bin -- 发布时间:2014/6/26 15:02:00 -- 用的系统自带的用户管理,外部数据源依然是这么做。 用的自定义用户管理,这一句保留。下面再做你定义的全局变量判断
|
||||
-- 作者:有点甜 -- 发布时间:2014/6/26 15:05:00 -- 自定义用户管理?那应该有_UserName 和 _UserGroup 全局变量吧?判断这些
3楼的意思是,如果用户是普通用户,就不显示授权表...... |
||||
-- 作者:wumingrong1 -- 发布时间:2014/6/26 15:06:00 -- 那我的项目那样设置公式应该没有什么问题啦。怎么就是没有看到效果呢? |
||||
-- 作者:有点甜 -- 发布时间:2014/6/26 15:13:00 -- 以下是引用wumingrong1在2014-6-26 15:06:00的发言:
那我的项目那样设置公式应该没有什么问题啦。怎么就是没有看到效果呢?
如果是自己设置的用户管理,是不会触发 LoadUserSetting 事件的
控制代码写到登陆窗口那里。 |
||||
-- 作者:wumingrong1 -- 发布时间:2014/6/26 15:25:00 -- 这样啊?我试一下看看 |
||||
-- 作者:wumingrong1 -- 发布时间:2014/7/5 20:00:00 -- 我的登录用户管理是使用 外部数据表 进行管理的;我在登录窗口的 登录 按钮中写入以下命令;在 授权表 中录有3条内容。但是当我登录项目时出现以下问题:1、授权表 不见了;2、授权表中所录入的内容也不生效啦。是不是我命令哪里错误?造成授权表看不到同时也就造成授权表中录入的内容也就不起效啦? \'1 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 dl As DataRow In DataTables("授权表").Select("Name = \'" & _UserName & "\'" ) If dl.IsNull("列名") Then Tables(dl("表名")).Visible = Not dl("不可见") Tables(dl("表名")).AllowEdit = Not dl("不可编辑") Else Tables(dl("表名")).Cols(dl("列名")).Visible = Not dl("不可见") Tables(dl("表名")).Cols(dl("列名")).AllowEdit = Not dl("不可编辑") End If Next End If \'到此为止 以上内容为读取"授权表"确认哪些用户不可以编辑或者不可以看到哪些列 |
||||
-- 作者:有点甜 -- 发布时间:2014/7/6 9:28:00 -- 这样试试
For Each t As Table In Tables \'在此开始.... For Each dl As DataRow In DataTables("授权表").Select("Name = \'" & _UserName & "\'" ) |