From 8d589caad819830bb7c88815d6141c16b93ed578 Mon Sep 17 00:00:00 2001 From: smallchill Date: Thu, 12 Dec 2019 15:42:07 +0800 Subject: [PATCH] =?UTF-8?q?:zap:=20=E4=BC=98=E5=8C=96=E6=8E=88=E6=9D=83?= =?UTF-8?q?=E7=A0=81=E6=A8=A1=E5=BC=8F=E6=9C=AA=E8=83=BD=E8=8E=B7=E5=BE=97?= =?UTF-8?q?=E7=A7=9F=E6=88=B7id=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../auth/service/BladeUserDetailsServiceImpl.java | 9 ++++++--- .../main/java/org/springblade/auth/utils/TokenUtil.java | 1 + 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/blade-auth/src/main/java/org/springblade/auth/service/BladeUserDetailsServiceImpl.java b/blade-auth/src/main/java/org/springblade/auth/service/BladeUserDetailsServiceImpl.java index 755d278b..0a1aa9dd 100644 --- a/blade-auth/src/main/java/org/springblade/auth/service/BladeUserDetailsServiceImpl.java +++ b/blade-auth/src/main/java/org/springblade/auth/service/BladeUserDetailsServiceImpl.java @@ -18,6 +18,7 @@ package org.springblade.auth.service; import lombok.AllArgsConstructor; import lombok.SneakyThrows; +import org.apache.commons.lang3.StringUtils; import org.springblade.auth.constant.AuthConstant; import org.springblade.auth.enums.BladeUserEnum; import org.springblade.auth.utils.TokenUtil; @@ -52,11 +53,13 @@ public class BladeUserDetailsServiceImpl implements UserDetailsService { public BladeUserDetails loadUserByUsername(String username) { HttpServletRequest request = WebUtil.getRequest(); // 获取租户 - String tenantId = request.getHeader(TokenUtil.TENANT_HEADER_KEY); - if (StringUtil.isBlank(tenantId)) { + String headerTenant = request.getHeader(TokenUtil.TENANT_HEADER_KEY); + String paramTenant = request.getParameter(TokenUtil.TENANT_PARAM_KEY); + if (StringUtil.isAllBlank(headerTenant, paramTenant)) { throw new UserDeniedAuthorizationException(TokenUtil.TENANT_NOT_FOUND); } - + // 租户ID + String tenantId = StringUtils.isBlank(headerTenant) ? paramTenant : headerTenant; // 获取用户类型 String userType = Func.toStr(request.getHeader(TokenUtil.USER_TYPE_HEADER_KEY), TokenUtil.DEFAULT_USER_TYPE); diff --git a/blade-auth/src/main/java/org/springblade/auth/utils/TokenUtil.java b/blade-auth/src/main/java/org/springblade/auth/utils/TokenUtil.java index 55d8f3a4..3ba3b446 100644 --- a/blade-auth/src/main/java/org/springblade/auth/utils/TokenUtil.java +++ b/blade-auth/src/main/java/org/springblade/auth/utils/TokenUtil.java @@ -50,6 +50,7 @@ public class TokenUtil { public final static String TENANT_HEADER_KEY = "Tenant-Id"; + public final static String TENANT_PARAM_KEY = "tenant_id"; public final static String DEFAULT_TENANT_ID = "000000"; public final static String TENANT_NOT_FOUND = "租户ID未找到"; public final static String USER_TYPE_HEADER_KEY = "User-Type";