多租户机制
S7 数智化审计平台 支持多租户机制,每个租户拥有独立的用户、菜单、查询模型等资源。
租户管理
路径: 开放平台 -> 租户管理
新增租户
新增用户操作,系统会在后台处理以下事项:
- 新增一条租户记录到表
a_sys_tenant中 - 新增一条租户管理员记录到表
a_sys_user中,默认登录名admin密码为123456 - 新增一个顶级机构记录到表
a_sys_org中 (pid 为 null 即为顶级机构) - 新增一条记录关联租户管理员和顶级机构到表
a_sys_user2org中 - 新增一条租户管理员角色记录到表
a_prod_role中 - 新增一条租户管理员用户角色记录到表
a_prod_role2user中
租户管理相关 API
新增租户服务
新增一条租户信息
POST /ais/api/v1/super/tenant/add?name=${name} HTTP/1.1
Host: http://<S7平台地址>删除租户
删除一条租户信息
GET http://$HOST/ais/api/v1/super/tenant/delete?id=${id} HTTP/1.1使用租户机制
模型中,可以直接使用环境变量 #FTENANTID# 获取当前租户 ID,然后根据租户 ID 进行数据过滤。
SELECT * FROM table_name WHERE 1=1 AND tenantId = '#FTENANTID#'租户架构
租户架构如下:
- 租户 1..n 用户
- 租户 1..n 机构
- 租户 1..n 角色
租户具有独立的用户、机构、角色,租户管理员可以管理租户下的用户、机构、角色。
但在以下资源中,租户间是共享的:
- 菜单
- 查询模型
- 数据源
- 表单
- 流程
租户实现模块在 product 中,如果需要自定义租户实现,可以在 product 中实现 TenantService 接口,然后在 application.yml 中配置 tenantService 为自定义实现类。