一、概述
1. 数据库结构概述
该数据库结构支持多租户环境下的用户权限管理和数据模型管理,适用于业务系统的数据结构及权限控制。设计中包含了用户数据、权限数据、枚举数据以及数据模型管理等方面。
2. 用户与权限管理
- 用户数据:记录所有用户的详细信息,包括但不限于用户名、密码、联系方式等。
- 权限数据:
- 部门权限:定义不同部门内的访问权限。
- 小组权限:细化到小组层面的权限设置。
- 用户权限:针对单个用户的个性化权限分配。
- 租户权限:确保每个租户的数据隔离及其相应的访问权限。
3. 权限类型
- 前端菜单权限:控制用户可见的前端界面元素。
- 后端接口权限:管理对后端API的访问控制。
- 租户权限:保证各租户之间的数据隔离和访问控制。
4. 数据模型管理
- 业务系统数据结构管理:维护业务系统的数据结构,确保数据的一致性和完整性。
- 前端页面配置数据:支持前端页面上的数据展示样式和操作逻辑的配置。
5. 枚举数据管理
- 枚举类型数据:统一管理业务中常见的下拉选项或其他枚举类型的值,提高数据的一致性和可维护性。
6. 技术选型建议
- MyBatis-Plus:用于简化持久层开发,提供自动映射等功能。
- Shiro权限框架:实现细粒度的权限控制和认证机制。
7. 数据权限管理
- 数据模型数据:利用数据模型中的配置来统一管理数据权限,确保不同层级(如部门、小组和个人)的用户只能访问他们被授权的数据。
二、数据结构
auth_engine.sys_data_field
字段名 | 数据类型 | 描述 |
---|
id | bigint(0) | ID |
data_model_id | bigint(0) | 数据模型ID |
field_name | varchar(255) | 字段名称 |
prop_name | varchar(255) | prop |
title_name | varchar(255) | Title名称 |
group_name | varchar(255) | 分组(具体含义找前端) |
fontend_type | varchar(50) | 前端类型 |
readonly | varchar(255) | 只读 |
sort_able | tinyint(1) | 是否排序 |
tenant_id | bigint(0) | 租户 |
trace_id | varchar(60) | traceId |
create_user_name | varchar(255) | 创建人 |
update_user_name | varchar(255) | 更新人 |
grid_layout | int(0) | 栅格 |
link_router | varchar(255) | 链接路由 |
auth_engine.us_permission
字段名 | 数据类型 | 描述 |
---|
id | bigint(0) | 权限ID |
menu_id | bigint(0) | 菜单ID |
name | varchar(50) | 权限名称 |
code | varchar(50) | CODE |
description | var | 描述 |
data_model | varchar(255) | 数据模型 |
resources | varchar(255) | 资源 |
perms | varchar(255) | 权限标识 |
perm_urls | varchar(255) | 路径 |
router_name | varchar(255) | 路由名称 |
icon | varchar(255) | 图标 |
sort | int(0) | 排序 |
type | int(0) | 类型 |
state | int(0) | 状态 |
version | int(0) | 版本 |
is_deleted | tinyint UNSIGNED | 是否删除 |
create_time | datetime(6) | 创建时间 |
create_user | bigint(0) | 创建人 |
update_time | datetime(6) | 更新时间 |
update_user | bigint(0) | 更新人 |
tenant_id | bigint(0) | 租户 |
client_name | varchar(255) | 客户端 |
trace_id | varchar(60) | traceId |
create_user_name | varchar(255) | 创建人 |
update_user_name | varchar(255) | 更新人 |
auth_engine.us_user
字段名 | 数据类型 | 描述 |
---|
id | bigint(0) | 用户ID |
user_name | varchar(50) | 用户名 |
real_name | varchar(50) | 真实姓名 |
login_name | varchar(50) | 登录名 |
login_pwd | varchar(255) | 登录密码 |
login_salt | varchar(50) | 密码盐 |
user_no | varchar(50) | 用户编号 |
mobile | varchar(50) | 手机号 |
open_id | varchar(50) | 微信OPENID |
avatar | varchar(255) | 用户头像 |
introduction | varchar(255) | 介绍 |
main_dept_id | bigint(0) | 主属部门ID |
sub_dept_ids | varchar(1000) | 副属部门ID |
main_post_id | bigint(0) | 主属职位ID |
sub_post_ids | varchar(1000) | 副属职位ID |
group_ids | varchar(1000) | 所属组ID |
superior_id | bigint(0) | 直属领导ID |
gender | int(0) | 性别ID |
rank_id | bigint(0) | 职级ID |
role_id | bigint(0) | 角色ID |
identity | varchar(50) | 身份证号 |
birthdate | datetime(6) | 出生日期 |
address | varchar(255) | 联系地址 |
car_no | varchar(10) | 车牌号 |
phone | varchar(50) | 座机号 |
email | varchar(50) | 邮箱 |
checkin_time | datetime(6) | 入职时间 |
quit_time | datetime(6) | 离职时间 |
fail_count | int(0) | 登录失败次数 |
retire_time | datetime(6) | 退休时间 |
sort | int(0) | 排序 |
type | int(0) | 类型 |
state | int(0) | 状态 |
is_deleted | tinyint UNSIGNED | 是否删除 |
create_time | datetime(6) | 创建时间 |
create_user | bigint UNSIGNED | 创建人 |
update_time | datetime(6) | 更新时间 |
update_user | bigint UNSIGNED | 更新人 |
version | int(0) | 版本 |
specialty | varchar(100) | 专业 |
company | varchar(100) | 所属公司 |
work_type | varchar(50) | 工种 |
tenant_id | bigint(0) | 租户 |
trace_id | varchar(60) | traceId |
create_user_name | varchar(255) | 创建人 |
update_user_name | varchar(255) | 更新人 |
auth_engine.tenant_info
字段名 | 数据类型 | 描述 |
---|
id | bigint(0) | 租户id |
tenant_name | varchar(255) | 租户名称 |
tenant_code | varchar(255) | 租户编码 |
exp_time | datetime(0) | 到期时间 |
principal | varchar(255) | 负责人 |
phone | varchar(255) | 联系电话 |
datasource_url | varchar(255) | 数据源url |
datasource_username | varchar(255) | 数据源用户名 |
datasource_password | varchar(255) | 数据源密码 |
datasource_driver | varchar(255) | 数据源驱动 |
sys_account | varchar(255) | 系统账号 |
sys_password | varchar(255) | 账号密码 |
sys_project | varchar(255) | 系统PROJECT |
create_time | datetime(6) | 创建时间 |
create_user | bigint(0) | 创建人 |
update_time | datetime(6) | 更新时间 |
update_user | bigint(0) | 更新人 |
sort | int(0) | 排序 |
type | int(0) | 类型 |
state | int(0) | 状态 |
version | int(0) | 版本 |
is_deleted | tinyint UNSIGNED | 是否删除 |
trace_id | varchar(60) | traceId |
create_user_name | varchar(255) | 创建人 |
update_user_name | varchar(255) | 更新人 |
auth_engine.us_role
字段名 | 数据类型 | 描述 |
---|
id | bigint(0) | 角色ID |
role_name | varchar(50) | 角色名 |
role_code | varchar(50) | CODE |
app_id | bigint(0) | 所属应用 |
description | varchar(255) | 描述 |
level | int(0) | 级别 |
sort | int(0) | 排序 |
type | int(0) | 类型 |
state | int(0) | 状态 |
version | int(0) | 版本 |
is_deleted | tinyint UNSIGNED | 是否删除 |
create_time | datetime(6) | 创建时间 |
create_user | bigint(0) | 创建人 |
update_time | datetime(6) | 更新时间 |
update_user | bigint(0) | 更新人 |
tenant_id | bigint(0) | 租户 |
trace_id | varchar(60) | traceId |
create_user_name | varchar(255) | 创建人 |
update_user_name | varchar(255) | 更新人 |
auth_engine.tenant_perm
字段名 | 数据类型 | 描述 |
---|
id | bigint(0) | 角色权限ID |
tenant_id | bigint(0) | 角色ID |
perm_id | bigint(0) | 权限ID |
sort | int(0) | 排序 |
type | int(0) | 类型 |
state | int(0) | 状态 |
version | int(0) | 版本 |
is_deleted | tinyint UNSIGNED | 是否删除 |
create_time | datetime(6) | 创建时间 |
create_user | bigint(0) | 创建人 |
update_time | datetime(6) | 更新时间 |
update_user | bigint(0) | 更新人 |
trace_id | varchar(60) | traceId |
create_user_name | varchar(255) | 创建人 |
update_user_name | varchar(255) | 更新人 |
auth_engine.us_menu_perm
字段名 | 数据类型 | 描述 |
---|
id | bigint(0) | ID |
menu_id | bigint(0) | 菜单ID |
perm_id | bigint(0) | 权限ID |
sort | int(0) | 排序 |
type | int(0) | 类型 |
state | int(0) | 状态 |
is_deleted | tinyint UNSIGNED | 是否删除 |
create_time | datetime(6) | 创建时间 |
create_user | bigint UNSIGNED | 创建人 |
update_time | datetime(6) | 更新时间 |
update_user | bigint UNSIGNED | 更新人 |
version | int(0) | 版本 |
tenant_id | bigint(0) | 租户 |
trace_id | varchar(60) | traceId |
create_user_name | varchar(255) | 创建人 |
update_user_name | varchar(255) | 更新人 |
auth_engine.us_user_role
字段名 | 数据类型 | 描述 |
---|
id | bigint(0) | 用户角色ID |
user_id | bigint(0) | 用户ID |
role_id | bigint(0) | 角色ID |
sort | int(0) | 排序 |
type | int(0) | 类型 |
state | int(0) | 状态 |
version | int(0) | 版本 |
is_deleted | tinyint UNSIGNED | 是否删除 |
create_time | datetime(6) | 创建时间 |
create_user | bigint(0) | 创建人 |
update_time | datetime(6) | 更新时间 |
update_user | bigint(0) | 更新人 |
tenant_id | bigint(0) | 租户 |
trace_id | varchar(60) | traceId |
create_user_name | varchar(255) | 创建人 |
update_user_name | varchar(255) | 更新人 |
auth_engine.sys_app_service (应用服务表)
字段名 | 数据类型 | 描述 |
---|
id | bigint(0) | 应用服务ID |
app_id | bigint(0) | 应用ID |
service_id | bigint(0) | 服务ID |
remark | varchar(255) | 备注 |
create_user | bigint(0) | 创建人 |
create_time | datetime(0) | 创建时间 |
update_user | bigint(0) | 更新时间 |
update_time | datetime(0) | 更新时间 |
type | int(0) | 类型 |
state | int(0) | 状态 |
version | int(0) | 版本 |
is_deleted | tinyint UNSIGNED | 是否删除 |
sort | int(0) | 排序 |
tenant_id | bigint(0) | 租户 |
trace_id | varchar(60) | traceId |
create_user_name | varchar(255) | 创建人 |
update_user_name | varchar(255) | 更新人 |
auth_engine.sys_application (系统应用表)
字段名 | 数据类型 | 描述 |
---|
id | bigint(0) | 应用ID |
name | varchar(50) | 应用名称 |
code | varchar(50) | 应用编码 |
ip | varchar(255) | 应用IP地址 |
port | int(0) | 端口 |
remark | varchar(255) | 备注 |
sort | int(0) | 排序 |
create_user | bigint(0) | 创建人 |
create_time | datetime(0) | 创建时间 |
update_user | bigint(0) | 更新人员 |
update_time | datetime(0) | 更新时间 |
type | int(0) | 类型 |
state | int(0) | 状态 |
version | int(0) | 版本 |
is_deleted | tinyint UNSIGNED | 是否删除 |
tenant_id | bigint(0) | 租户 |
trace_id | varchar(60) | traceId |
create_user_name | varchar(255) | 创建人 |
update_user_name | varchar(255) | 更新人 |
auth_engine.us_department
字段名 | 数据类型 | 描述 |
---|
id | bigint(0) | 部门ID |
name | varchar(50) | 部门名称 |
code | varchar(50) | 部门编码 |
level | int(0) | 部门等级 |
role_id | bigint(0) | 角色ID |
sort | int(0) | 排序 |
super_dept_id | bigint(0) | 上级部门ID |
manager | bigint(0) | 主管 |
remark | varchar(255) | 注释 |
type | int(0) | 部门类型 |
state | int(0) | 部门状态 |
version | int(0) | 版本 |
is_deleted | tinyint UNSIGNED | 是否删除 |
create_time | datetime(6) | 创建时间 |
create_user | bigint(0) | 创建人 |
update_time | datetime(6) | 更新时间 |
update_user | bigint(0) | 更新人 |
tenant_id | bigint(0) | 租户 |
trace_id | varchar(60) | traceId |
create_user_name | varchar(255) | 创建人 |
update_user_name | varchar(255) | 更新人 |
auth_engine.us_menus
字段名 | 数据类型 | 描述 |
---|
id | bigint(0) | 权限ID |
name | varchar(50) | 权限名称 |
code | varchar(50) | CODE |
description | varchar(255) | 描述 |
level | int(0) | 等级 |
super_menu_id | bigint(0) | 上级权限ID |
data_model_id | bigint(0) | 数据模型ID |
data_model | varchar(255) | 数据模型 |
resources | varchar(255) | 资源 |
perms | varchar(255) | 权限标识 |
perm_urls | varchar(255) | 路径 |
router_name | varchar(255) | 路由名称 |
icon | varchar(255) | 图标 |
sort | int(0) | 排序 |
type | int(0) | 类型 |
state | int(0) | 状态 |
version | int(0) | 版本 |
is_deleted | tinyint UNSIGNED | 是否删除 |
create_time | datetime(6) | 创建时间 |
create_user | bigint(0) | 创建人 |
update_time | datetime(6) | 更新时间 |
update_user | bigint(0) | 更新人 |
tenant_id | bigint(0) | 租户 |
client_name | varchar(255) | 客户端 |
trace_id | varchar(60) | traceId |
create_user_name | varchar(255) | 创建人 |
update_user_name | varchar(255) | 更新人 |
auth_engine.us_role_menu_perm
字段名 | 数据类型 | 描述 |
---|
id | bigint(0) | 角色权限ID |
role_id | bigint(0) | 角色ID |
menu_perm_id | bigint(0) | 菜单权限ID |
menu_id | bigint(0) | 菜单ID |
perm_id | bigint(0) | 权限ID |
perms | varchar(255) | 唯一权限标识 |
data_rules | varchar(2000) | 数据规则 |
data_sorts | varchar(2000) | 排序规则 |
op_fields | varchar(2000) | 可操作字段 |
eq_login_field | varchar(200) | 等于登录人字段 |
sort | int(0) | 排序 |
type | int(0) | 类型 |
state | int(0) | 状态 |
version | int(0) | 版本 |
is_deleted | tinyint UNSIGNED | 是否删除 |
create_time | datetime(6) | 创建时间 |
create_user | bigint(0) | 创建人 |
update_time | datetime(6) | 更新时间 |
update_user | bigint(0) | 更新人 |
tenant_id | bigint(0) | 租户 |
trace_id | varchar(60) | traceId |
create_user_name | varchar(255) | 创建人 |
update_user_name | varchar(255) | 更新人 |
auth_engine.us_user_cloumn
字段名 | 数据类型 | 描述 |
---|
id | bigint(0) | ID |
fixedCloumn | text | 列固定 |
showCloumn | text | 列展示 |
sortCloumn | text | 列排序 |
widthCloumn | text | 列宽 |
user_id | bigint(0) | 用户Id |
sort | int(0) | 排序 |
type | int(0) | 类型 |
state | int(0) | 状态 |
version | int(0) | 版本 |
is_deleted | tinyint UNSIGNED | 是否删除 |
create_time | datetime(6) | 创建时间 |
create_user | bigint(0) | 创建人 |
update_time | datetime(6) | 更新时间 |
update_user | bigint(0) | 更新人 |
tenant_id | bigint(0) | 租户 |
trace_id | varchar(60) | traceId |
create_user_name | varchar(255) | 创建人 |
update_user_name | varchar(255) | 更新人 |
auth_engine.us_position
字段名 | 数据类型 | 描述 |
---|
id | bigint(0) | ID |
post_name | varchar(50) | 职位名称 |
post_code | varchar(50) | CODE |
role_id | bigint(0) | 职位角色ID |
remark | varchar(255) | 注释 |
sort | int(0) | 排序 |
type | int(0) | 类型 |
state | int(0) | 状态 |
version | int(0) | 版本 |
is_deleted | tinyint UNSIGNED | 是否删除 |
create_time | datetime(6) | 创建时间 |
create_user | bigint(0) | 创建人 |
update_time | datetime(6) | 更新时间 |
update_user | bigint(0) | 更新人 |
tenant_id | bigint(0) | 租户 |
trace_id | varchar(60) | traceId |
create_user_name | varchar(255) | 创建人 |
update_user_name | varchar(255) | 更新人 |
auth_engine.sys_enum_type (枚举类型)
字段名 | 数据类型 | 描述 |
---|
id | bigint(0) | 枚举类型ID |
name | varchar(50) | 枚举型名称 |
code | varchar(50) | CODE |
quote | varchar(255) | 引用的表字段 |
description | varchar(255) | 描述 |
type_super_id | bigint(0) | 父ID |
sort | int(0) | 排序 |
type | int(0) | 类型 |
state | int(0) | 状态 |
version | int(0) | 版本 |
is_deleted | tinyint UNSIGNED | 是否删除 |
create_time | datetime(6) | 创建时间 |
create_user | bigint(0) | 创建人 |
update_time | datetime(6) | 更新时间 |
update_user | bigint(0) | 更新人 |
tenant_id | bigint(0) | 租户 |
trace_id | varchar(60) | traceId |
create_user_name | varchar(255) | 创建人 |
update_user_name | varchar(255) | 更新人 |
auth_engine.sys_enumerate (枚举)
字段名 | 数据类型 | 描述 |
---|
id | bigint(0) | 枚举ID |
name | varchar(50) | 枚举名称 |
code | varchar(50) | CODE |
enum_value | int(0) | 枚举值 |
description | varchar(255) | 描述 |
type_id | bigint(0) | 枚举型ID |
sort | int(0) | 排序 |
type | int(0) | 类型 |
state | int(0) | 状态 |
version | int(0) | 版本 |
is_deleted | tinyint UNSIGNED | 是否删除 |
create_time | datetime(6) | 创建时间 |
create_user | bigint(0) | 创建人 |
update_time | datetime(6) | 更新时间 |
update_user | bigint(0) | 更新人 |
tenant_id | bigint(0) | 租户 |
trace_id | varchar(60) | traceId |
create_user_name | varchar(255) | 创建人 |
update_user_name | varchar(255) | 更新人 |
auth_engine.sys_data_model
字段名 | 数据类型 | 描述 |
---|
id | bigint(0) | ID |
model_name | varchar(255) | 模型名称 |
table_name | varchar(255) | 表名称 |
vo_name | varchar(255) | 对应VO名称 |
sort | int(0) | 排序 |
type | int(0) | 类型 |
state | int(0) | 状态 |
version | int(0) | 版本 |
is_deleted | tinyint UNSIGNED | 是否删除 |
create_time | datetime(6) | 创建时间 |
create_user | bigint UNSIGNED | 创建人 |
update_time | datetime(6) | 更新时间 |
update_user | bigint UNSIGNED | 更新人 |
remark | varchar(255) | 备注 |
description | varchar(255) | 描述 |
module_name | varchar(255) | 模块名称 |
tenant_id | bigint(0) | 租户 |
trace_id | varchar(60) | traceId |
create_user_name | varchar(255) | 创建人 |
update_user_name | varchar(255) | 更新人 |
auth_engine.us_group
字段名 | 数据类型 | 描述 |
---|
id | bigint(0) | ID |
name | varchar(255) | 小组名称 |
code | varchar(255) | 小组代码 |
role_id | bigint(0) | 角色ID |
remark | varchar(255) | 注释 |
sort | int(0) | 排序 |
type | int(0) | 类型 |
state | int(0) | 状态 |
version | int(0) | 版本 |
is_deleted | tinyint UNSIGNED | 是否删除 |
create_time | datetime(6) | 创建时间 |
create_user | bigint(0) | 创建人 |
update_time | datetime(6) | 更新时间 |
update_user | bigint(0) | 更新人 |
tenant_id | bigint(0) | 租户 |
trace_id | varchar(60) | traceId |
create_user_name | varchar(255) | 创建人 |
update_user_name | varchar(255) | 更新人 |
auth_engine.sys_service_relation
字段名 | 数据类型 | 描述 |
---|
id | bigint(0) | ID |
service_id | bigint(0) | 服务ID |
client_id | bigint(0) | 客户端ID |
create_time | datetime(6) | 创建时间 |
create_user | bigint(0) | 创建人 |
update_time | datetime(6) | 更新时间 |
update_user | bigint(0) | 更新人 |
sort | int(0) | 排序 |
type | int(0) | 类型 |
state | int(0) | 状态 |
version | int(0) | 版本 |
is_deleted | tinyint UNSIGNED | 是否删除 |
tenant_id | bigint(0) | 租户 |
trace_id | varchar(60) | traceId |
create_user_name | varchar(255) | 创建人 |
auth_engine.sys_services
字段名 | 数据类型 | 描述 |
---|
id | bigint(0) | ID |
secret | varchar(255) | 密码 |
name | varchar(255) | 服务名称 |
create_time | datetime(6) | 创建时间 |
create_user | bigint(0) | 创建人 |
update_time | datetime(6) | 更新时间 |
update_user | bigint(0) | 更新人 |
sort | int(0) | 排序 |
type | int(0) | 类型 |
state | int(0) | 状态 |
version | int(0) | 版本 |
is_deleted | tinyint UNSIGNED | 是否删除 |
tenant_id | bigint(0) | 租户 |
trace_id | varchar(60) | traceId |
create_user_name | varchar(255) | 创建人 |
auth_engine.undo_log
字段名 | 数据类型 | 描述 |
---|
id | bigint(20) | 主键 |
branch_id | bigint(20) | 分支事务ID |
xid | varchar(100) | 事务ID |
context | varchar(128) | 事务上下文 |
rollback_info | blob | 回滚信息 |
log_status | int(11) | 日志状态 |
log_created | timestamp | 创建时间 |
log_modified | timestamp | 修改时间 |
ext | varchar(100) | 扩展信息 |
auth_engine.dictionary (数据字典)
字段名 | 数据类型 | 描述 |
---|
id | bigint UNSIGNED | ID |
tenant_id | bigint(0) | 租户ID |
parent_id | bigint UNSIGNED | 父ID |
type | varchar(50) | 字典类型 |
item_name | varchar(100) | 显示名 |
item_value | varchar(100) | 存储值 |
description | varchar(100) | 描述说明 |
extdata | varchar(200) | 扩展JSON |
sort_id | smallint(0) | 排序号 |
is_editable | tinyint(1) | 是否可改 |
请注意,一些通用的列如sort
, type
, state
, version
, is_deleted
, create_time
, create_user
, update_time
, update_user
, tenant_id
, trace_id
, create_user_name
, 和 update_user_name
在多个表中都有出现,这些列在上述表格中已经省略了重复的部分。