(一)基本概念
1.定义
RBAC(Role-Based Access Control),也就是所谓的**“基于角色的访问控制权限”**。
2.优势
在RBAC中,用户不再直接与权限相连,而是通过“角色”这一属性来间接的被赋予权限,用户通过成为适当的角色来的到这些角色固有的权限,这样处理就解耦了用户与权限的关系。这就极大地简化了权限的管理。在一个组织中,角色是为了完成各种工作而创造,用户则依据它的责任和资格来被指派相应的角色,用户可以很容易地从一个角色被指派到另一个角色。角色可依新的需求和系统的合并而赋予新的权限,而权限也可根据需要而从某角色中回收。角色与角色的关系可以建立起来以囊括更广泛的客观情况。
3.示例
这一思想在生活中很常见,如果我们这样定义:士兵就是在战场上冲锋作战的人,班长就是在战场上冲锋作战,还要管理班级,传达命令的人,连长就是负责对接营长,制定计划,下达命令的人。
那么如果王五是士兵,赵六也是士兵,那么他们两个就都可以在战场上冲锋作战,而李四则是班长,他除去冲锋作战,还要传达命令、管理班级。而张三是连长,他作为高级官员是负责对接营长,制定计划,下达命令。
那么此时我们就已经定义了用户,角色,权限这三个属性。
为了便于理解,我们看一张图:
假如我们没有采取这种思想,那我们会这么说:王五是在战场上冲锋作战的,赵六也是战场上冲锋作战的,李四是战场上冲锋作战,还要传达命令、管理班级的,张三是负责制定计划,下达命令和管理连队的。
在人很