mirror of
https://gitee.com/dotnetchina/OpenAuth.Net.git
synced 2025-04-05 17:38:01 +08:00
1.5 KiB
1.5 KiB
模块/菜单权限
网络上流行的经典的权限设计是【主体】- 【领域】 - 【权限】( who、what、how问题原型 ) 的设计思想,其中:
【主体】可以是用户,可以是角色,也可以是一个部门
【领域】可以是一个模块,可以是一个页面,也可以是页面上的按钮
【权限】可以是“可见”,可以是“只读”,也可以是“可用”(如按钮可以点击)
为了简化程序开发,在OpenAuth.Net中去掉了权限的控制,简化为【主体】- 【领域】的模式,且【主体】限定为角色。即只能给角色分配模块和按钮,不能直接分配给用户账号或部门。且一旦分配即表示该角色拥有操作该模块(按钮)的权限。结构如下
@startuml skinparam handwritten true skinparam backgroundColor #EEEBDC
用户User o-- 角色Role 用户User o-- 部门Org 角色Role o-- 模块Module
'角色Role o-left- 部门Org 模块Module o-- 菜单ModuleElement
模块Module o-- 数据字段
@enduml
具体操作
添加好模块/菜单后,在【角色管理】功能中,选中一个角色,点击【为角色分配模块】,点击下一步会依次弹出:
- 为角色分配模块对话框,用于分配该角色可以访问哪些功能;
- 为角色分配菜单对话框,用于分配该角色可以操作哪些菜单;
- 为角色分配可见字段对话框,用于分配该可以查看哪些字段;