diff --git a/core/core-backend/src/main/java/io/dataease/dataset/manage/DatasetSQLBotManage.java b/core/core-backend/src/main/java/io/dataease/dataset/manage/DatasetSQLBotManage.java index fa047fd529..fc9713d8c0 100644 --- a/core/core-backend/src/main/java/io/dataease/dataset/manage/DatasetSQLBotManage.java +++ b/core/core-backend/src/main/java/io/dataease/dataset/manage/DatasetSQLBotManage.java @@ -105,7 +105,8 @@ public class DatasetSQLBotManage { } return AesUtils.aesEncrypt(text, aesKey, iv); } - + TypeReference> listTypeReference = new TypeReference>() { + }; private Map> getColPermission(Long uid, List roleIds) { ColumnPermissionsApi columnPermissionsApi = CommonBeanFactory.getBean(ColumnPermissionsApi.class); Objects.requireNonNull(columnPermissionsApi); @@ -122,7 +123,14 @@ public class DatasetSQLBotManage { dataSetColumnPermissionsDTO.setAuthTargetType("role"); List roleDataSetColumnPermissionsDTOS = columnPermissionsApi.list(dataSetColumnPermissionsDTO); if (CollectionUtils.isNotEmpty(roleDataSetColumnPermissionsDTOS)) { - dataSetColumnPermissionsDTOS.addAll(roleDataSetColumnPermissionsDTOS); + for (DataSetColumnPermissionsDTO dto :roleDataSetColumnPermissionsDTOS) { + List userIdList = JsonUtil.parseList(dto.getWhiteListUser(), listTypeReference); + if (CollectionUtils.isEmpty(userIdList) || !userIdList.contains(uid)) { + // roleColumnPermissionsDTOS.add(columnPermissionsDTO); + dataSetColumnPermissionsDTOS.add(dto); + } + } + // dataSetColumnPermissionsDTOS.addAll(roleDataSetColumnPermissionsDTOS); } } if (CollectionUtils.isEmpty(dataSetColumnPermissionsDTOS)) {