Browse Source

优化授权码模式未能获得租户id的bug

test
smallchill 5 years ago
parent
commit
8d589caad8
  1. 9
      blade-auth/src/main/java/org/springblade/auth/service/BladeUserDetailsServiceImpl.java
  2. 1
      blade-auth/src/main/java/org/springblade/auth/utils/TokenUtil.java

9
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);

1
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";

Loading…
Cancel
Save