This commit is contained in:
77
2024-05-19 00:45:31 +08:00
parent 32933c2840
commit 92134f6ed2
26 changed files with 67 additions and 45 deletions

View File

@@ -47,34 +47,26 @@ public class TenantFilter implements Filter {
}
String tenantHeader = request.getHeader(TENANT_ID_HEADER);
boolean login = TenantHelper.isLogin();
if(login){
if(login){ // 已经登录
String tenantId = LoginHelper.getTenantId();
if("/getInfo".equals(requestURI)){ // 特殊放权接口
TenantHelper.setTenantId(tenantId);
filterChain.doFilter(servletRequest, servletResponse);
return;
}
Long userId = LoginHelper.getUserId();
if(TenantConstants.SUPER_ADMIN_ID.equals(userId)){
if(TenantConstants.SUPER_ADMIN_ID.equals(userId)){ // 超管前端给什么用什么
TenantHelper.setTenantId(tenantHeader);
filterChain.doFilter(servletRequest, servletResponse);
return;
}
}
if(!StringUtils.isBlank(tenantHeader)){
if(login){
String tenantId = LoginHelper.getTenantId();
if(tenantId == null || !tenantId.equals(tenantHeader)){
ServletUtils.renderString(response, JSONUtil.toJsonStr(R.fail("平台错误")));
return;
}
TenantHelper.setTenantId(tenantId);
}else{
TenantHelper.setTenantId(tenantHeader);
}
} else {
if(login){
String tenantId = LoginHelper.getTenantId();
if(tenantId == null){
ServletUtils.renderString(response, JSONUtil.toJsonStr(R.fail("平台错误")));
return;
}
TenantHelper.setTenantId(tenantId);
if(tenantId == null || !tenantId.equals(tenantHeader)){ // 非超管 如果当前用户和前端给的不支持 返回异常
ServletUtils.renderString(response, JSONUtil.toJsonStr(R.fail("平台错误")));
return;
}
TenantHelper.setTenantId(tenantId);
}else{
TenantHelper.setTenantId(tenantHeader);
}
filterChain.doFilter(servletRequest, servletResponse);
} finally {