多租户
多租户
多租户模块基于 MyBatis-Plus 行级隔离实现租户数据隔离,通过租户与套餐两级管理控制各租户可用的菜单与数据范围。
本文是 4.x 的归档文档(冻结于 v4.2.0)。该分支只接收勘误修正, 内容基本不再变动;文中的源码路径、配置项与版本号均以 4.2.x 为准,不建议用于新项目。
新项目请查看 5.x 最新文档。已在 4.2.x 上运行的项目,本文仍是可靠依据。
多租户模块位于 continew-plugin-tenant,基于 ContiNew Starter 的 continew-starter-extension-tenant-mp(MyBatis-Plus 行级隔离)实现:执行 SQL 时自动拼接当前租户条件,各租户共享同一套库表而互不可见。租户上下文经请求头 X-Tenant-Id(ID)或 X-Tenant-Code(编码)传递,超级管理员所在的默认租户 ID 为 0。
模块对外提供两级管理:套餐定义一组可选菜单构成产品规格,租户绑定套餐并获得对应菜单能力。对应一级菜单「租户管理」(菜单 ID 3000)。