RBAC基于角色的权限访问控制

相关对象及其关系

1. 权限

系统的所有权限信息,权限具有上下级关系

2. 用户

应用系统的具体操作者,用户可以自己拥有权限信息,可以归属于0-n个角色,可属于0-n个

权限集自身具有的权限所属的各角色具有的权限所属的各组具有的权限的合集。

它与权限、角色、组之间的关系都是n对n的关系

3. 角色

对具有相似权限的用户进行分类管理,定义角色的概念

角色具有上下级关系(父级角色的权限是自身及它的所有自角色的权限的综合)

4. 组

对用户进行分组归类

组具有上下级关系,组可以具有自己的角色信息,权限信息。

数据库设计

用户-角色-权限”模型,用户与角色,角色与权限之间一般都是多对多的关系

一般采用五张表:用户表,角色表,权限表,用户角色关联表,角色权限关联表

当用户数量非常大时,要给系统每一个用户逐一授权,是一件很繁琐的事情。

解决:给用户分组,每个用户组内有多个用户,除了可以给用户授权外,还可以给用户组授权。 用户拥有的所有权限=用户个人拥有的权限+用户所在用户组拥有的权限