1.什么是RBAC
RBAC(Role-Based Access Control)基于角色的权限访问控制。在RBAC模型中,用户与权限之间加入了角色的概念。权限与角色进行关联,通过为用户分配角色,使得用户具有了相关的操作权限。权限可以通过角色分配给用户,也可以通过角色对用户的权限进行回收。通过RBAC我们可以很好的在系统中进行访问控制。
2.基于RBAC的设计思路
基于RABC的访问控制基本原理:在用户和访问权限之间加入角色这一层,来实现用户和权限的分离。所以,可以通过角色对权限分组,简化用户与权限之间关联的复杂性,提高权限的分配效率。在设计基于RBAC模型的表结构之前,我们可以理解以下几个问题:
1. RBAC是对用户基于角色的权限控制。所以,想要在系统中实现RBAC,我们首先要有三张表:用户表用来存储用户信息,角色表用来存储角色信息,权限表用来存储权限信息。
2.一个用户可以有多个角色,同时一个角色也可能被分配给多个用户。所以,用户和角色之间是多对多的关系。
3.一个角色可以对应多个权限,同时一个权限也可能被分配给多个角色。所以,角色和权限之间也是多对多的关系。
4.表结构中如果两个表是多对多的关系,我们可以通过中间表的方式处理他们之间的对应的关系。因此,我们可以创建 用户关联角色中间表 和 角色关联权限中间表。
5.这样我们就需要在系统中创建:用户表、角色表、权限表、用户关联角色表、角色关联权限表。通过这5张表来构造成“用户-角色-权限”的授权模型。如下图所示:
评论 (0)