优化请求头的 tenant-id 的解析逻辑,避免前端传错类型

This commit is contained in:
YunaiV 2023-04-15 09:47:07 +08:00
parent 9832947dfa
commit 1e32aaa77e
2 changed files with 4 additions and 2 deletions

View File

@ -1,5 +1,6 @@
package cn.iocoder.yudao.framework.web.core.util;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.StrUtil;
import cn.iocoder.yudao.framework.common.enums.RpcConstants;
import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
@ -41,7 +42,7 @@ public class WebFrameworkUtils {
*/
public static Long getTenantId(HttpServletRequest request) {
String tenantId = request.getHeader(HEADER_TENANT_ID);
return StrUtil.isNotEmpty(tenantId) ? Long.valueOf(tenantId) : null;
return NumberUtil.isNumber(tenantId) ? Long.valueOf(tenantId) : null;
}
public static void setLoginUserId(ServletRequest request, Long userId) {

View File

@ -2,6 +2,7 @@ package cn.iocoder.yudao.gateway.util;
import cn.hutool.core.net.NetUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.extra.servlet.ServletUtil;
import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
import lombok.extern.slf4j.Slf4j;
@ -44,7 +45,7 @@ public class WebFrameworkUtils {
public static Long getTenantId(ServerWebExchange exchange) {
String tenantId = exchange.getRequest().getHeaders().getFirst(HEADER_TENANT_ID);
return tenantId != null ? Long.parseLong(tenantId) : null;
return NumberUtil.isNumber(tenantId) ? Long.valueOf(tenantId) : null;
}
/**