权限管理
1.权限管理RBAC基本概念
RBAC是基于角色的访问控制(Role-Based Access Contro1)在RBAC中,权限与角色相关联,用户通过扮演适当的角色从而得到这些角色的权限。这样管理都是层级相互依赖的,权限赋予给角色,角色又赋予用户,这样的权限设计很清楚,管理起来很方便。
RBAC授权实际上是who , what , How 三元组之间的关系,也就是who对what进行How 的操作,简单说明就是谁对什么资源做了怎样的操作。
2.RBAC表结构设计
2.1 实体对应关系
用户-角色-资源实体间对应关系图分析如下
这里用户与角色实体对应关系为多对多,角色与资源对应关系同样为多对多关系,所以在实体设计上用户与角色间增加用户角色实体,将多对多的对应关系拆分为一对多,同理,角色与资源多对多对应关系拆分出中间实体对象权限实体。
2.2 表结构设计
从上面实体对应关系分析,权限表设计分为以下基本的五张表结构:用户表(hr),角色表(role),用户角色表(hr_role),菜单表(menu),菜单权限表(menu_role),表结构如下:
根据用户属于哪个角色,在通过角色去判断他拥有哪些资源!