From d7b6d5aae69197a7542e02adbc1444a237c0ee2c Mon Sep 17 00:00:00 2001 From: OTTO <731554297@qq.com> Date: Tue, 3 Sep 2024 14:37:59 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E7=89=B9=E8=89=B2=E4=B8=93=E5=8C=BA?= =?UTF-8?q?=E4=B8=8E=E9=A1=B9=E7=9B=AE=E7=AE=A1=E7=90=86=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E5=90=88=E5=B9=B6):=20=E8=A7=A3=E5=86=B3=E5=90=88=E5=B9=B6?= =?UTF-8?q?=E5=86=B2=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复用户身份判定异常的问题:当前系统微服务中存在两套用户身份判断的方式(通过Url携带的currentDeptId字段或者header中携带的Dept-Id字段),针对于特色专区获取组织下角色时该接口携带了currentDeptId导致身份识别失败,所以将header的优先级调高 --- .../impl/SystemRequestCustomServiceImpl.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/microservices-modules/microservices-modules-system/src/main/java/com/microservices/system/service/impl/SystemRequestCustomServiceImpl.java b/microservices-modules/microservices-modules-system/src/main/java/com/microservices/system/service/impl/SystemRequestCustomServiceImpl.java index c9af3aec1..f2e3ce304 100644 --- a/microservices-modules/microservices-modules-system/src/main/java/com/microservices/system/service/impl/SystemRequestCustomServiceImpl.java +++ b/microservices-modules/microservices-modules-system/src/main/java/com/microservices/system/service/impl/SystemRequestCustomServiceImpl.java @@ -3,6 +3,7 @@ package com.microservices.system.service.impl; import com.alibaba.fastjson2.JSONObject; import com.microservices.common.core.constant.SecurityConstants; import com.microservices.common.core.utils.ServletUtils; +import com.microservices.common.core.utils.StringUtils; import com.microservices.common.security.service.IRequestCustomService; import org.springframework.context.annotation.Primary; import org.springframework.stereotype.Service; @@ -18,12 +19,13 @@ import javax.servlet.http.HttpServletRequest; public class SystemRequestCustomServiceImpl implements IRequestCustomService { @Override public String processRequestDeptId(HttpServletRequest request) { - Object attributeObj = request.getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE); - JSONObject jsonObject = JSONObject.from(attributeObj); - Long deptId = jsonObject.getLong("currentDeptId"); - if (deptId == null) { - return ServletUtils.getHeader(request, SecurityConstants.DEPT_ID); + String deptId = ServletUtils.getHeader(request, SecurityConstants.DEPT_ID); + if (StringUtils.isNotEmpty(deptId)) { + return deptId; + } else { + Object attributeObj = request.getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE); + JSONObject jsonObject = JSONObject.from(attributeObj); + return jsonObject.getString("currentDeptId"); } - return deptId.toString(); } }