RABC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色和权限进行关联。
简单的说,就是一个用户拥有若干角色,每个角色拥有若干权限。这样,就构成“用户-角色-权限”的授权模型。
在这种模型中,用户与角色之间,角色与权限之间,一般是多对多的关系
角色是什么呢?可以理解为有一定数量的权限的集合,权限的载体。
比如,一个论坛系统,“超级管理员”,“管理员”、“斑竹”都是角色,斑竹可以管理版内的帖子、可管理版内的用户,这些都是权限。要给某个用于授予这些权限,不需要直接将权限授予用户,可将“斑竹”这个角色赋予该用户。
当用户的数量很大时,要给系统的每个用户逐一授权(授角色),是件很繁琐的事情。这时,就需要给用户分组,每个用户组内可以有多个用户。出了可给用户授权外,还可以给用户组授权。这样以来,用户拥有的权限,就是用户个人拥有的权限与该用户所在用户组拥有的权限之和