From 756617ae644553b2f81374dc2fa61c07c5071e4a Mon Sep 17 00:00:00 2001 From: lbw Date: Mon, 21 Nov 2022 12:23:58 +0800 Subject: [PATCH] =?UTF-8?q?:bug:=20Fixing=20a=20bug.=20close=20#4520=20?= =?UTF-8?q?=E6=89=93=E5=BC=80=E7=A7=AF=E6=9C=A8=E6=8A=A5=E8=A1=A8=E6=8A=A5?= =?UTF-8?q?=E9=94=99=EF=BC=9A=E5=85=A8=E5=B1=80=E5=BC=82=E5=B8=B8=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=20ex=3DJmReportTokenServices=E5=AE=9E=E7=8E=B0?= =?UTF-8?q?=E7=B1=BBgetUsername=E6=96=B9=E6=B3=95=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E5=80=BC=E4=B8=8D=E5=85=81=E8=AE=B8=E4=B8=BA=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pigx/admin/api/feign/RemoteTokenService.java | 2 ++ .../pigx/bi/config/JimuReportTokenService.java | 11 +++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/feign/RemoteTokenService.java b/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/feign/RemoteTokenService.java index f541adc2a..142f6d9a5 100644 --- a/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/feign/RemoteTokenService.java +++ b/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/feign/RemoteTokenService.java @@ -18,6 +18,7 @@ package com.pig4cloud.pigx.admin.api.feign; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.pig4cloud.pigx.common.core.constant.CommonConstants; import com.pig4cloud.pigx.common.core.constant.SecurityConstants; import com.pig4cloud.pigx.common.core.constant.ServiceNameConstants; import com.pig4cloud.pigx.common.core.util.R; @@ -63,6 +64,7 @@ public interface RemoteTokenService { */ @GetMapping("/token/query-token") R> queryToken(@RequestParam("token") String token, + @RequestParam(CommonConstants.TENANT_ID) String tenantId, @RequestHeader(SecurityConstants.FROM) String from); } diff --git a/pigx-visual/pigx-jimu-platform/src/main/java/com/pig4cloud/pigx/bi/config/JimuReportTokenService.java b/pigx-visual/pigx-jimu-platform/src/main/java/com/pig4cloud/pigx/bi/config/JimuReportTokenService.java index 0af6aaf07..60934064b 100644 --- a/pigx-visual/pigx-jimu-platform/src/main/java/com/pig4cloud/pigx/bi/config/JimuReportTokenService.java +++ b/pigx-visual/pigx-jimu-platform/src/main/java/com/pig4cloud/pigx/bi/config/JimuReportTokenService.java @@ -1,5 +1,7 @@ package com.pig4cloud.pigx.bi.config; +import cn.hutool.core.util.CharUtil; +import cn.hutool.core.util.StrUtil; import com.pig4cloud.pigx.admin.api.feign.RemoteTokenService; import com.pig4cloud.pigx.common.core.constant.CommonConstants; import com.pig4cloud.pigx.common.core.constant.SecurityConstants; @@ -10,6 +12,7 @@ import org.jeecg.modules.jmreport.api.JmReportTokenServiceI; import org.springframework.stereotype.Component; import java.util.HashMap; +import java.util.List; import java.util.Map; /** @@ -26,8 +29,10 @@ public class JimuReportTokenService implements JmReportTokenServiceI { @Override public String getUsername(String token) { + // 分割出 PIGX 的租户信息 + List splitList = StrUtil.split(token, CharUtil.UNDERLINE); // @formatter:off - return RetOps.of(tokenService.queryToken(token, SecurityConstants.FROM_IN)) + return RetOps.of(tokenService.queryToken(splitList.get(1), splitList.get(0) ,SecurityConstants.FROM_IN)) .getDataIf(RetOps.CODE_SUCCESS) .map(o -> (String)o.get("username")) .orElse(null); @@ -46,7 +51,9 @@ public class JimuReportTokenService implements JmReportTokenServiceI { @Override public Boolean verifyToken(String token) { - R> result = tokenService.queryToken(token, SecurityConstants.FROM_IN); + // 分割出 PIGX 的租户信息 + List splitList = StrUtil.split(token, CharUtil.UNDERLINE); + R> result = tokenService.queryToken(splitList.get(1), splitList.get(0) , SecurityConstants.FROM_IN); if (CommonConstants.SUCCESS.equals(result.getCode())) { return true; }