mirror of
https://github.com/jeecgboot/JeecgBoot.git
synced 2026-02-14 04:53:53 +00:00
当需要租户隔离时才添加多租户插件
This commit is contained in:
parent
04a26cdd6d
commit
0859784c3b
@ -93,40 +93,43 @@ public class MybatisPlusSaasConfig {
|
|||||||
public MybatisPlusInterceptor mybatisPlusInterceptor() {
|
public MybatisPlusInterceptor mybatisPlusInterceptor() {
|
||||||
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
|
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
|
||||||
// 先 add TenantLineInnerInterceptor 再 add PaginationInnerInterceptor
|
// 先 add TenantLineInnerInterceptor 再 add PaginationInnerInterceptor
|
||||||
|
// 条件注册租户拦截器:当需要租户隔离时才添加
|
||||||
|
if (OPEN_SYSTEM_TENANT_CONTROL) {
|
||||||
interceptor.addInnerInterceptor(new TenantLineInnerInterceptor(new TenantLineHandler() {
|
interceptor.addInnerInterceptor(new TenantLineInnerInterceptor(new TenantLineHandler() {
|
||||||
@Override
|
@Override
|
||||||
public Expression getTenantId() {
|
public Expression getTenantId() {
|
||||||
String tenantId = TenantContext.getTenant();
|
String tenantId = TenantContext.getTenant();
|
||||||
//如果通过线程获取租户ID为空,则通过当前请求的request获取租户(shiro排除拦截器的请求会获取不到租户ID)
|
//如果通过线程获取租户ID为空,则通过当前请求的request获取租户(shiro排除拦截器的请求会获取不到租户ID)
|
||||||
if(oConvertUtils.isEmpty(tenantId)){
|
if (oConvertUtils.isEmpty(tenantId)) {
|
||||||
try {
|
try {
|
||||||
tenantId = TokenUtils.getTenantIdByRequest(SpringContextUtils.getHttpServletRequest());
|
tenantId = TokenUtils.getTenantIdByRequest(SpringContextUtils.getHttpServletRequest());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
//e.printStackTrace();
|
//e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(oConvertUtils.isEmpty(tenantId)){
|
if (oConvertUtils.isEmpty(tenantId)) {
|
||||||
tenantId = "0";
|
tenantId = "0";
|
||||||
}
|
}
|
||||||
return new LongValue(tenantId);
|
return new LongValue(tenantId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getTenantIdColumn(){
|
public String getTenantIdColumn() {
|
||||||
return TenantConstant.TENANT_ID_TABLE;
|
return TenantConstant.TENANT_ID_TABLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 返回 true 表示不走租户逻辑
|
// 返回 true 表示不走租户逻辑
|
||||||
@Override
|
@Override
|
||||||
public boolean ignoreTable(String tableName) {
|
public boolean ignoreTable(String tableName) {
|
||||||
for(String temp: TENANT_TABLE){
|
for (String temp : TENANT_TABLE) {
|
||||||
if(temp.equalsIgnoreCase(tableName)){
|
if (temp.equalsIgnoreCase(tableName)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
|
}
|
||||||
//update-begin-author:zyf date:20220425 for:【VUEN-606】注入动态表名适配拦截器解决多表名问题
|
//update-begin-author:zyf date:20220425 for:【VUEN-606】注入动态表名适配拦截器解决多表名问题
|
||||||
interceptor.addInnerInterceptor(dynamicTableNameInnerInterceptor());
|
interceptor.addInnerInterceptor(dynamicTableNameInnerInterceptor());
|
||||||
//update-end-author:zyf date:20220425 for:【VUEN-606】注入动态表名适配拦截器解决多表名问题
|
//update-end-author:zyf date:20220425 for:【VUEN-606】注入动态表名适配拦截器解决多表名问题
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user