Foxtable(狐表)用户栏目专家坐堂 → [求助]关于按钮授权的发散问题


  共有2562人关注过本帖树形打印复制链接

主题:[求助]关于按钮授权的发散问题

帅哥哟,离线,有人找我吗?
ml3000631
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:42 积分:442 威望:0 精华:0 注册:2017/7/19 15:39:00
[求助]关于按钮授权的发散问题  发帖心情 Post By:2020/2/18 11:52:00 [只看该作者]

背景:有角色 A B C,A需要管理使用A窗口中的3个按钮权限,B需要管理使用B窗口中的3个按钮权限,C需要同时使用A、B窗口的按钮权限。
通过学习到:

另一个方法是在窗口的AfterLoad事件设置代码,隐藏或禁用当前用户无权使用的按钮,例如我们在AfterLoad事件设置代码:

If User.Roles <> "A" Then '原文是User.Group,但是考虑到1人要担任多角色问题,将User.Group改为了User.Roles,  试过User.IsRole,但是AfterLoad提示不行。

    e.Form.Controls("新增").Enabled = False
    e.Form.Controls("插入").Enabled = False

e.Form.Controls("删除").Enabled = False
End If

这样当非经理级别的用户打开窗口后,Button1和Button3将处于禁用状态,如果你想隐藏这两个按钮,只需将上述代码中的Enabled替换为Visible。



就这样分别给  A、B两个窗口AfterLoad 事件写了代码,现在分别给A角色、B角色赋予对应的角色,都能正常使用按钮,但是给C角色同时赋予两种角色的时候,导致两个窗口按钮都不能使用,单独给C赋予一种角色的时候就可以正常使用。


1、请指教问题处理思考方向及参考。

2、可否将以上代码If User.Roles <> "A" Then  中的A角色改为多个角色的组合,求语法。改完后达到,A角色、X角色可以同时拥有按钮使用权。


谢谢。


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110777 积分:563817 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/18 13:28:00 [只看该作者]

需要使用User.IsRole,如

If User.IsRole("A") = False Then
    e.Form.Controls("新增").Enabled = False
    e.Form.Controls("插入").Enabled = False
    e.Form.Controls("删除").Enabled = False 
End If


 回到顶部
帅哥哟,离线,有人找我吗?
ml3000631
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:42 积分:442 威望:0 精华:0 注册:2017/7/19 15:39:00
  发帖心情 Post By:2020/2/18 14:04:00 [只看该作者]

那么 If User.IsRole("A") = False Then  可否写成同时判断A角色、B角色 等多种角色呢

谢谢蓝版,


 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110777 积分:563817 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/18 14:29:00 [只看该作者]

比如 ,同时有多个角色

 If User.IsRole("A")  andalso  User.IsRole("B") Then 

可能有其中一个角色
 If User.IsRole("A")  orelse User.IsRole("B") Then 

既不是A,也不是B角色
 If User.IsRole("A") = false  andalso  User.IsRole("B") = false Then 

 回到顶部
帅哥哟,离线,有人找我吗?
ml3000631
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:42 积分:442 威望:0 精华:0 注册:2017/7/19 15:39:00
  发帖心情 Post By:2020/2/18 15:01:00 [只看该作者]

收到,非常感谢!

 回到顶部