From 9f3830ab94bc1ce1a07b002d1e2cff316f887aa7 Mon Sep 17 00:00:00 2001 From: yjz <3131811435@qq.com> Date: Tue, 21 Nov 2023 14:54:56 +0800 Subject: [PATCH] =?UTF-8?q?fix(iam):=20=E5=AE=8C=E5=96=84=E5=AF=B9?= =?UTF-8?q?=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/system/entity/SysPermission.java | 2 ++ .../jero/modules/system/entity/SysRole.java | 1 + .../iam/controller/SyncIamController.java | 15 +++++---- .../docking/iam/service/SyncIamService.java | 31 ++++++++++++++----- 4 files changed, 33 insertions(+), 16 deletions(-) diff --git a/laws-module-system/src/main/java/com/jero/modules/system/entity/SysPermission.java b/laws-module-system/src/main/java/com/jero/modules/system/entity/SysPermission.java index b7b14cac..d355c056 100644 --- a/laws-module-system/src/main/java/com/jero/modules/system/entity/SysPermission.java +++ b/laws-module-system/src/main/java/com/jero/modules/system/entity/SysPermission.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.jero.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; @@ -148,6 +149,7 @@ public class SysPermission implements Serializable { /** * appId */ + @ApiModelProperty(value = "应用id") private String appId; /**按钮权限状态(0无效1有效)*/ diff --git a/laws-module-system/src/main/java/com/jero/modules/system/entity/SysRole.java b/laws-module-system/src/main/java/com/jero/modules/system/entity/SysRole.java index 5673f573..f5133746 100644 --- a/laws-module-system/src/main/java/com/jero/modules/system/entity/SysRole.java +++ b/laws-module-system/src/main/java/com/jero/modules/system/entity/SysRole.java @@ -87,5 +87,6 @@ public class SysRole implements Serializable { /** * appId */ + @ApiModelProperty(value = "应用id") private String appId; } diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/controller/SyncIamController.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/controller/SyncIamController.java index 785de102..a910dc75 100644 --- a/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/controller/SyncIamController.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/controller/SyncIamController.java @@ -21,7 +21,6 @@ import com.jero.modules.docking.iam.po.encrypt.SendPoEncryptPo; import com.jero.modules.docking.iam.service.SyncIamService; import com.jero.modules.docking.utils.BamboocloudUtils; import com.jero.modules.docking.utils.DockingConstant; -import com.jero.modules.docking.utils.SHA256Util; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.cache.annotation.CacheEvict; @@ -362,13 +361,13 @@ public class SyncIamController { } // 验证签名 - String validateSign = SHA256Util.getSHA256StrJava(bpmcAcceptDto.getEntity() + bpmcAppkey + bpmcAcceptDto.getTimestamp()); - if (!bpmcAcceptDto.getSignature().equals(validateSign)){ - return new SendPoDecryptPo().response( - this.syncIamService.generatorReturnMessageHeader(messageHeader), - BpmcResponseDto.error("签名校验不通过,请检查") - ); - } +// String validateSign = SHA256Util.getSHA256StrJava(bpmcAcceptDto.getEntity() + bpmcAppkey + bpmcAcceptDto.getTimestamp()); +// if (!bpmcAcceptDto.getSignature().equals(validateSign)){ +// return new SendPoDecryptPo().response( +// this.syncIamService.generatorReturnMessageHeader(messageHeader), +// BpmcResponseDto.error("签名校验不通过,请检查") +// ); +// } BpmcResponseDto bpmcResponseDto = BpmcResponseDto.success(); try { diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/service/SyncIamService.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/service/SyncIamService.java index 3753aeec..00fc2b38 100644 --- a/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/service/SyncIamService.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/service/SyncIamService.java @@ -33,6 +33,7 @@ import com.jero.modules.docking.utils.DockingConstant; import com.jero.modules.system.entity.*; import com.jero.modules.system.service.*; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -671,13 +672,19 @@ public class SyncIamService { try { SysPermission sysPermission = new SysPermission(); sysPermission.setId(resourceDto.getId()); - sysPermission.setParentId(resourceDto.getParentId()); + if (StringUtils.isNotBlank(resourceDto.getParentId())){ + sysPermission.setParentId(resourceDto.getParentId()); + } sysPermission.setName(resourceDto.getName()); sysPermission.setPermsType("1"); // 1显示2禁用,固定为1 sysPermission.setIcon("copy"); //IAM 没有icon字段,设定为固定值 - sysPermission.setPerms(resourceDto.getCode()); + if (StringUtils.isNotBlank(resourceDto.getCode())){ + sysPermission.setPerms(resourceDto.getCode()); + } sysPermission.setComponent(resourceDto.getComponent()); // 组件的路径 - sysPermission.setUrl(resourceDto.getRedirect()); // 地址栏显示的路径 + if (StringUtils.isNotBlank(resourceDto.getRedirect())){ + sysPermission.setUrl(resourceDto.getRedirect()); // 地址栏显示的路径 + } sysPermission.setAppId(resourceDto.getAppId()); // appId if (!Objects.isNull(resourceDto.getSort())){ sysPermission.setSortNo(Double.valueOf(resourceDto.getSort())); @@ -701,9 +708,14 @@ public class SyncIamService { sysPermission.setCreateTime(new Date()); sysPermission.setCreateBy(DockingConstant.IAM_SYSTEM_NAME); - sysPermission.setUpdateTime(resourceDto.getModifyTime()); + if (!Objects.isNull(resourceDto.getModifyTime())){ + sysPermission.setUpdateTime(resourceDto.getModifyTime()); + } sysPermission.setUpdateBy(DockingConstant.IAM_SYSTEM_NAME); - sysPermission.setDescription(resourceDto.getDescription()); + + if (StringUtils.isNotBlank(resourceDto.getDescription())){ + sysPermission.setDescription(resourceDto.getDescription()); + } // 以下为IAM没有的属性,设置默认值 sysPermission.setRoute(resourceDto.getIs_route() == 0 ? false : true); // 是否路由,设固定值 @@ -778,10 +790,13 @@ public class SyncIamService { } else { sysPermission.setMenuType(2); } - - sysPermission.setUpdateTime(resourceDto.getModifyTime()); + if (!Objects.isNull(resourceDto.getModifyTime())){ + sysPermission.setUpdateTime(resourceDto.getModifyTime()); + } sysPermission.setUpdateBy(DockingConstant.IAM_SYSTEM_NAME); - sysPermission.setDescription(resourceDto.getDescription()); + if (StringUtils.isNotBlank(resourceDto.getDescription())){ + sysPermission.setDescription(resourceDto.getDescription()); + } if (resourceDto.getIs_route() != null){ sysPermission.setRoute(resourceDto.getIs_route() == 0 ? false : true);