定义
RBAC基于角色的权限访问控制(Role-Based Access Control)是商业系统中最常见的权限管理技术之一。RBAC是一种思想,任何编程语言都可以实现,其成熟简单的控制思想 越来越受广大开发人员喜欢。在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这就极大地简化了权限的管理。在一个组织中,角色是为了完成各种工作而创造,用户则依据它的责任和资格来被指派相应的角色,用户可以很容易地从一个角色被指派到另一个角色。角色可依新的需求和系统的合并而赋予新的权限,而权限也可根据需要而从某角色中回收。
权限的作用
- 使用者的角度
使用者可以在限制范围内使用自己角色对应的权力 - 设计者的角度
控制不同的角色合理的访问不同的资源
对于我们做的web应用系统来讲,就是控制不同的用户访问不同的页面
模型
优势
- 简化了用户和权限的关系
因为多了一个角色属性,可以通过角色对用户进行分组,方便管理 - 易拓展 易于维护
流程图
由图可以看到,在数据库建立信息时,应该有3张属性表,两张关联表。
权限流程
数据库必须字段
用户表(user):id
角色表(role):id
用户角色关联表:id u_id r_id
权限表(power):id
权限角色关联表:id r_id p_id