RBAC基于角色的权限访问控制
RBAC基本表设计
# 用户表(基本字段) user(user_id, user_name, user_nickname, insert_time) # 分组表(基本字段) group(group_id, group_parent_id, group_name, insert_time, valid) # 角色表(基本字段) role(role_id, role_name, insert_time, valid) # 权限表(基本字段) privilege(privilege_id, privilege_name, insert_time, valid)
RBAC关联表设计
# 用户、分组关联表(基本字段) user_group(id, user_id, group_id, insert_time, valid) # 用户、角色关联表(基本字段) user_role(id, user_id, role_id, insert_time, valid) # 分组、角色关联表(基本字段) group_role(id, group_id, role_id, insert_time, valid) # 角色、权限关联表(基本字段) role_privilege(id, role_id, privilege_id, insert_time, valid)
RBAC字段描述
user_id: 用户ID user_name: 用户账号 user_nickname: 用户昵称 group_id: 分组ID group_parent_id: 父级分组ID group_name: 分组名称 role_id: 角色ID role_name: 角色名称 privilege_id: 权限ID privilege_name: 权限名称 id: 主键(无实际意义) insert_time: 添加时间 valid: 有效性
RBAC权限表说明
# 权限表可以分多张表设计,并以表的形式表示其中关系 # 权限表也可以用一张表设计,对指定权限的信息进行详细记录
RBAC模型
RBAC扩展模型
RBAC的pgsql实现(如点击链接未下载,尝试F5刷新)