java---用户资源表设计

205 阅读1分钟

1.用户表 user

id_user                                      sys_guid() 表主键
user_no                                      业务主键
user_name
disabled  boolean                            是否禁用
role_ids jsonb default '[]'::jsonb           用户含有的多个角色id,有了这个json类型,就不用设计用户角色关联表了
dept_code
dept_name
upper_dept_codes jsonb default '[]'::jsonb   上级机构链,含自身
upper_dept_names jsonb default '[]'::jsonb 
is_super_admin boolean                       是否是超级管理员
...用户自带的其他信息

2.角色表 role_info

id_role_info sys_guid() 表主键
role_id                 角色id
role_name               角色名称
status                  角色状态是否禁用

3.角色资源关联表 role_menu,1个角色对应多个资源;也可以在角色表中加入json类,如menus

id_role_menu     sys_guid() 表主键
role_id   
menu_id          资源id

4.资源表 menu_info

id_menu_info   sys_guid() 表主键
menu_id         资源id
menu_name       资源名称X
parent_id       父资源id
order_num       页面显示顺序
url             页面的路由
menu_type       资源类型(M:目录,C:菜单 F:按钮)
visible         菜单是否可见
icon            图标
perm            按钮权限检查

5.资源表数据展示

menu_idmenu_nameparent_idurlmenu_typeperm
700用户管理0/userC
701查询用户700FUSER:QUERY
702新增用户700FUSER:ADD
800角色管理0/roleC
801查询角色800FROLE:QUERY
802新增角色800FROLE:ADD