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; }