RBAC-基于角色的权限管理

RBAC权限管理

RBAC(Role-Based Access Control,基于角色的访问控制),就是用户经过角色与权限进行关联。简单地说,一个用户拥有若干角色,每个角色拥有若干权限。这样,就构形成“用户-角色-权限”的受权模型。在这种模型中,用户与角色之间,角色与权限之间,通常是多对多的关系。laravel

RBAC

上图数据库模型分析:git

  • permission_role.permission_id是表permissions外键。
  • permission_role.role_id是表roles外键。
  • role_user.role_id是表roles外键。
  • role_user.permission_id是表users外键。

角色能够理解为必定数量的权限的集合,权限的载体。例如:一个论坛系统,“超级管理员”、“版主”都是角色。版主可管理版内的帖子、可管理版内的用户等,这些是权限。要给某个用户授予这些权限,不须要直接将权限授予用户,可将“版主”这个角色赋予该用户。github

RBAC角色管理模型

image

应用实战

相关文章
相关标签/搜索