总览(后续增加):
一、权限中心
为什么要做权限控制?
需求来源:不同岗位的员工,负责的工作内容不同;不属于岗位职责范围内的事情,不能允许员工去查看与操作;企业通过对员工在系统中拥有的权限进行控制,让不同岗位、层级的员工,只能使用和看到其职权范围内的功能和信息,以确保分工协作体系能顺畅运作,同时维护企业信息安全。
权限中心
需要控制的权限数据有哪些呢?
- 功能权限:增删改查导
- 数据权限:如线下门店,门店老板只能看到自己门店的营业额,收益等信息看不到其他门店的数据
- 菜单权限:菜单操作
常见的权限设计控制模型:
- 基于角色的访问控制(RBAC)
- 基于对象的访问控制(OBAC)
- 基于属性的访问控制(ABAC)
- 访问控制列表(ACL)
RBAC
原则:
- 最小权限原则
- 责任分离原则
- 数据抽象原则
权限设计的核心:理清用户、权限、角色三者的关系;谁创建账户,分配什么角色,赋予何种权限
RBAC模型包含用户(User)、资源(Resource)、操作(Operation)三个关键要素。通过将资源以及资源操作授权给用户,而使用户获得对资源进行操作的权限,保证了权限分配的实施。
用户,资源,资源操作权限
这里介绍一下:RBAC几种实现方式:按照设计的复杂程度
- RBAC0
特点:用户和角色多对多的关系,同一个用户拥有多个角色的属性 - RBAC1
特点:针对角色引入继承的概念,子角色可以对父角色的权限进行继承,但是子角色的权限一定小于父角色 - RBAC2
在RBAC-0系统之上,在用户域角色间和角色与角色之间加入了一些规则。
- 单个角色允许分配的用户数限制
- 单个 - RBAC3:基于RBAC-0,RBAC-1,RBAC-2模型的全部特点;