RBAC-基于角色的权限管理
RBAC权限管理
RBAC
(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般是多对多
的关系。
上图数据库模型分析:
-
permission_role.permission_id
是表permissions
外键。 -
permission_role.role_id
是表roles
外键。 -
role_user.role_id
是表roles
外键。 -
role_user.permission_id
是表users
外键。
角色可以理解为一定数量的权限的集合,权限的载体。例如:一个论坛系统,“超级管理员”、“版主”都是角色。版主可管理版内的帖子、可管理版内的用户等,这些是权限。要给某个用户授予这些权限,不需要直接将权限授予用户,可将“版主”这个角色赋予该用户。
RBAC角色管理模型