权限设计

基于技术模型进行设计-RBAC(Role-Based Access Control)模型

如下图即是 RBAC 模型中最基本的模型:用户与角色可为多对一或多对多的关系,当一个用户的角色为多对多时,当前用户的权限是多个角色的并集。
此时只需要为角色赋予权限,能够大大减轻管理负担,同时将用户与权限解耦,提供更大的灵活性。

20190823_105347.png
  1. 页面权限优先于操作和数据权限
    必须配置了页面模块权限后,才能配置当前页面模块下具体的操作权限,以及页面模块的数据展示权限。

  2. 查看权限优先于增删改权限

正常情况下,一定要先能查看某个模块或操作,其它的增删改操作才有意义。因此在设计时,应在获取查看权限前限制其它权限的配置,或者配置其它权限时默认赋予查看权限。

节点包括:

用户;
用户组;
角色;
角色组;
权限(页面、操作、数据);
权限组(页面、操作、数据)。

关系包括:

是/否关系;
继承关系;
限制关系(互斥、范围限制、边界限制、字段限制……);