Browse Source

:bug: 修复忽略租户的 URL,未带租户会报错的问题

YunaiV 3 years ago
parent
commit
9b687ff6c9

+ 5 - 1
yudao-framework/yudao-spring-boot-starter-biz-tenant/src/main/java/cn/iocoder/yudao/framework/tenant/core/security/TenantSecurityWebFilter.java

@@ -75,7 +75,7 @@ public class TenantSecurityWebFilter extends ApiRequestFilter {
             }
         }
 
-        //检查是否是忽略的 URL, 如果是则允许访问
+        // 如果非允许忽略租户的 URL,则校验租户是否合法
         if (!isIgnoreUrl(request)) {
             // 2. 如果请求未带租户的编号,不允许访问。
             if (tenantId == null) {
@@ -92,6 +92,10 @@ public class TenantSecurityWebFilter extends ApiRequestFilter {
                 ServletUtils.writeJSON(response, result);
                 return;
             }
+        } else { // 如果是允许忽略租户的 URL,若未传递租户编号,则默认忽略租户编号,避免报错
+            if (tenantId == null) {
+                TenantContextHolder.setIgnore(true);
+            }
         }
 
         // 继续过滤

+ 3 - 0
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/TenantController.http

@@ -1,3 +1,6 @@
+### 获取租户编号 /admin-api/system/get-id-by-name
+GET {{baseUrl}}/system/tenant/get-id-by-name?name=芋道源码
+
 ### 创建租户 /admin-api/system/tenant/create
 POST {{baseUrl}}/system/tenant/create
 Content-Type: application/json