角色权限设计中【按钮控制】:下面将重点讲解界面的按钮权限控制实现原理。
https://www.likecs.com/show-235632.html
4.1 按钮权限控制基本原理
以数据字典窗体【员工管理】举例说明,假设【员工管理】拥有以下按钮及对应的权限值:
模拟场景:
用户【User-孙】属于【Role1】角色, 在【角色管理】界面内给【Role1】角色分配【员工管理】窗体的权限为:(1,2,4,8)=15,勾选【新增】、【删除】、【修改】、【查看】功能, 用户【User-孙】登录后取到【员工管理】窗体的权限值为1+2+4+8=15. 在打开【员工管理】窗体时, 框架底层对【员工管理】窗体的每个按钮分别与当前用户的权限值15进行逻辑【与】运算。
逻辑【与】运算结果如下:
在Form.Load事件内调用InitButtons方法,有权限的按钮则Button.Enable=True, 无权限的按钮则Button.Enable=False;
4.2 逻辑“与”运算C#代码参考
相关C#代码参考:
ButtonAuthorized方法主要是进行逻辑“与”运算: