什么是RBAC?
RBAC(Role-Based Access Control)基于角色的权限控制。其基本思想是,对系统操作的各种权限不是直接授予具体的用户,而是在用户集合与权限集合之间建立一个角色集合。每一种角色对应一组相应的权限。一旦用户被分配了适当的角色后,该用户就拥有此角色的所有操作权限。
有什么好处?
这样做的好处是,不必在每次创建用户时都进行分配权限的操作,只要分配用户相应的角色即可,而且角色的权限变更比用户的权限变更要少得多,这样将简化用户的权限管理,减少系统的开销。
RBAC系统都包含哪些模型?
RBAC系统基本要包括:部门、角色、权限和用户这4个模型。这4个是基础,其他模型可根据企业规模和实际需求扩展。
4个模型的关系是这样的:
部门-用户 1:N
角色-权限 1:N
用户-角色 1:N
当然你也可以把角色和部门挂钩,看实际需要。
一张图加深印象
随便画的,凑活看:)
图中可以看出,作为公司的管理者老板,肯定是要拥有公司所有业务角色的。
而专职的销售人员只需要赋予其销售角色即可。
下一步干嘛?
知道了什么是RBAC以后,我打算去实现一套基于RBAC的权限控制系统,
通过此系统的开发进一步理解和掌握它。