一、RABC模型
一个非常成熟的安全模型概念,基于角色帮助我们把授权和用户的访问控制。
1、User(用户)
指的是系统使用者。
2、PerMission(权限)
用户我们对系统的操作,访问哪些东西,可以操作写入操作等等。实际的例子,比如新增题目。
3、Role(角色)
我们去把一组的权限,集合起来,命名为角色。
4、总结:
核心思想祈使句就是把角色和权限做关联,实现整体的一个灵活访问,提高我们的系统的安全性和管理型。基于这个模型,我们的开发速度还有粒度的粗细也都是十分好控制的。
5、优点:
灵活,安全,简化管理。
二、RBAC-0 模型
用户和角色是一个多对多的关系,角色和权限也是一个多对多关系。
三、RBAC-1 模型
多了一个继承的概念。
比如一个业务部门,经理,主管,营业员。主管的权限肯定不能大于经理,营业员不能大于主管。
子角色的范围一定会小于父角色。
四、RBAC-2 模型
角色互斥,基数约束,先决条件等等。
角色互斥:同一个用户,不能被分配到复制的角色,比如说,你是一个采购,那你就不能分配销售。
基数约束:一个角色分配的用户数量是有限的。比如有一个公司的架构师,最多只能有三个。
先决条件:你 想获得架构师的角色,那你必然得先是一个资深工程师的角色。
五、权限
他的含义其实是非常广泛的,可以是菜单,页面,字段,数据。
菜单权限:
页面权限:
字段权限:
数据权限:
操作权限:
六、用户组
平台的用户基数非常大,角色也非常的多,如果说我给每个用户都操作一下角色,就非常的麻烦。我们其实抽象一层,组的概念,把同类的用户,放在一起,直接拥有相同的权限。
非常有益于减少工作量,一些管理方面也非常合适。用户组抽象到实际中,其实就是部门,科室。