From 3477c5e4d74fde4f552e1845597304572d3ff926 Mon Sep 17 00:00:00 2001 From: junjun Date: Mon, 8 Aug 2022 19:42:22 +0800 Subject: [PATCH] =?UTF-8?q?fix(X-Pack):=20=E4=BF=AE=E5=A4=8D=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E6=97=A0=E7=BB=84=E7=BB=87=E6=97=A0=E6=B3=95=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E7=B3=BB=E7=BB=9F=E5=8F=98=E9=87=8F=E8=A1=8C=E6=9D=83?= =?UTF-8?q?=E9=99=90=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataset/PermissionsTreeService.java | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/backend/src/main/java/io/dataease/service/dataset/PermissionsTreeService.java b/backend/src/main/java/io/dataease/service/dataset/PermissionsTreeService.java index 583d2eee68..54350dd09b 100644 --- a/backend/src/main/java/io/dataease/service/dataset/PermissionsTreeService.java +++ b/backend/src/main/java/io/dataease/service/dataset/PermissionsTreeService.java @@ -14,6 +14,7 @@ import io.dataease.plugins.common.request.permission.DatasetRowPermissionsTreeOb import io.dataease.plugins.common.request.permission.DatasetRowPermissionsTreeRequest; import io.dataease.plugins.config.SpringContextUtil; import io.dataease.plugins.xpack.auth.service.RowPermissionTreeService; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; @@ -113,12 +114,24 @@ public class PermissionsTreeService { // 替换系统变量 if (StringUtils.equalsIgnoreCase(record.getAuthTargetType(), "sysParams")) { String expressionTree = record.getExpressionTree(); - expressionTree = expressionTree.replaceAll("\\$\\{sysParams\\.userId}", userEntity.getUsername()); - expressionTree = expressionTree.replaceAll("\\$\\{sysParams\\.userName}", userEntity.getNickName()); - expressionTree = expressionTree.replaceAll("\\$\\{sysParams\\.userEmail}", userEntity.getEmail()); - expressionTree = expressionTree.replaceAll("\\$\\{sysParams\\.userSource}", userEntity.getFrom() == 0 ? "LOCAL" : "OIDC"); - expressionTree = expressionTree.replaceAll("\\$\\{sysParams\\.dept}", userEntity.getDeptName()); - expressionTree = expressionTree.replaceAll("\\$\\{sysParams\\.roles}", String.join(",", currentRoleDtos.stream().map(CurrentRoleDto::getName).collect(Collectors.toList()))); + if (StringUtils.isNotEmpty(userEntity.getUsername())) { + expressionTree = expressionTree.replaceAll("\\$\\{sysParams\\.userId}", userEntity.getUsername()); + } + if (StringUtils.isNotEmpty(userEntity.getNickName())) { + expressionTree = expressionTree.replaceAll("\\$\\{sysParams\\.userName}", userEntity.getNickName()); + } + if (StringUtils.isNotEmpty(userEntity.getEmail())) { + expressionTree = expressionTree.replaceAll("\\$\\{sysParams\\.userEmail}", userEntity.getEmail()); + } + if (userEntity.getFrom() != null) { + expressionTree = expressionTree.replaceAll("\\$\\{sysParams\\.userSource}", userEntity.getFrom() == 0 ? "LOCAL" : "OIDC"); + } + if (StringUtils.isNotEmpty(userEntity.getDeptName())) { + expressionTree = expressionTree.replaceAll("\\$\\{sysParams\\.dept}", userEntity.getDeptName()); + } + if (CollectionUtils.isNotEmpty(currentRoleDtos)) { + expressionTree = expressionTree.replaceAll("\\$\\{sysParams\\.roles}", String.join(",", currentRoleDtos.stream().map(CurrentRoleDto::getName).collect(Collectors.toList()))); + } record.setExpressionTree(expressionTree); DatasetRowPermissionsTreeObj tree = gson.fromJson(expressionTree, DatasetRowPermissionsTreeObj.class);