-
tenant_id
,可参考其他系统表。登录界面(可以选择不同租户)
注:如果为租户设置了绑定域名,则只能选择当前域名相关的租户列表。
application-common.yml
开关
enable
节点不用废话。
如果不需要过滤租户的表可在excludes
节点下添加。
注意: 如果已经基于租户模式启动了程序 关闭租户必须删除mysql与redis内的相关数据重新导入sql
1.如果需要指定单独 SQL 不开启过滤,可在对应的 Mapper 接口添加如下忽略注解: @InterceptorIgnore(tenantLine = "true", dataPermission = "false")
此处注意事项 使用此注解如果需要开启数据权限 dataPermission = "false" 必须添加 mp的注解默认是忽略数据权限的 会导致数据权限失效
2.如果需要在业务层忽略多租户,可调用以下方法(推荐使用): # 无返回值 TenantHelper.ignore(() -> { 业务代码 }); # 有返回值 Class result = TenantHelper.ignore(() -> { return 业务代码 });
仅适用于特殊需求业务(例如: 创建租户时, 对该租户操作一些数据, 或者需要去其他租户查一些数据等) 禁止乱用后果自负
# 无返回值
TenantHelper.dynamic(租户id, () -> { 业务代码 });
# 有返回值
Class result = TenantHelper.dynamic(租户id, () -> { return 业务代码 });
注:如果为租户设置了绑定域名,则只能选择当前域名相关的租户列表。
注:
1、先新增套餐再新增租户,因为租户新增之后无法修改所选套餐。
2、租户所关联的套餐如果后续有修改可以进行同步。
注:默认租户无法修改
注:域名的配置就是为了绑定特定租户!
应用场景:租户套餐进行了修改,配置的菜单需要同步到特定租户。
(不是所有租户都有更新套餐的权利, 这是跟钱挂钩的)
点一下按钮的事,图略。
注:管理员切换租户不是切换用户,切换的只是数据,管理员拥有所有权限。