一文读懂用户权限设计
为什么要进行用户权限设计?
系统权限
1. 菜单权限
2. 按钮权限
3. 数据权限
4. 应用权限
三、角色
1. 直接分配
2. 基于角色RBAC模型进行分配
-
多对一:即一个角色被多个用户充当; -
多对多:即一个角色可以拥有多种权限。
-
基数约束:基数约束是指给一个角色被分配给多少个用户是有上限的,不能无限制的添加,即如果创建了总经理的角色,那这个角色被赋予的用户数是有限的,当超过时,该角色将不能再分配给用户。 -
角色互斥:角色互斥是指一个用户不可能同时拥有多个互斥的角色,就像财务系统种,一个用户不能同时拥有财务和会计的角色。 -
先决条件:先决条件是指用户要想获得高层级的权限,必须先拥有低层级的权限,好比如必须先拥有财务助理的权限,才能拥有财务经理的权限。 -
运行互斥:运行互斥是指使用时只能选择一个角色进行使用,好比如老师和家长,一个用户即可能家长也可能是老师,那在使用时,只能选择使用家长的角色或者时老师的角色,不能2个角色同时使用。
四、用户、角色、权限之间的关系
-
用户:即系统访问的操作者,可以理解为登录系统的用户; -
权限:即被允许访问或某种操作的授权资格,一般可以理解为对系统的增删改查权限; -
角色:即具有同类相同操作权限的用户。
-
用户组:用户的集合。当用户数量较多时,可以给用户进行分组。当公司有新员工入职或者需要给员工分配其他角色时,只需要将用户加入用户组,那么该用户就自动拥有了该用户组的权限,无需再一一设置了。 -
角色组:角色的集合,当多个角色均需拥有相同的权限时,可以采用角色组,例如行政人员,HR均需看到公司的员工信息,那么此时可以将HR、行政建立一个角色组,再将查看员工信息的权限赋予该用户组,那么用户组内的角色就自动拥有了这些权限。 -
权限组:权限的集合,可以给权限设置一个权限组,例如可以将查看查看员工业绩、查看客户信息关联成一个权限组,当下次需要给用户赋予权限时,直接选择该权限组即可,就不需要一一去设置多个权限了。