diff --git a/core/backend/src/main/java/io/dataease/controller/dataset/request/DatasetTaskGridRequest.java b/core/backend/src/main/java/io/dataease/controller/dataset/request/DatasetTaskGridRequest.java index c3e5654e33..886bfd5a25 100644 --- a/core/backend/src/main/java/io/dataease/controller/dataset/request/DatasetTaskGridRequest.java +++ b/core/backend/src/main/java/io/dataease/controller/dataset/request/DatasetTaskGridRequest.java @@ -21,4 +21,6 @@ public class DatasetTaskGridRequest extends KeywordRequest { private String id; private Long userId; + + private String datasetId; } diff --git a/core/backend/src/main/java/io/dataease/dto/datasource/PgConfiguration.java b/core/backend/src/main/java/io/dataease/dto/datasource/PgConfiguration.java index f1365071dd..400af7852f 100644 --- a/core/backend/src/main/java/io/dataease/dto/datasource/PgConfiguration.java +++ b/core/backend/src/main/java/io/dataease/dto/datasource/PgConfiguration.java @@ -5,12 +5,18 @@ import lombok.Getter; import lombok.Setter; import org.apache.commons.lang3.StringUtils; +import java.net.URLDecoder; +import java.util.Arrays; +import java.util.List; + @Getter @Setter public class PgConfiguration extends JdbcConfiguration { private String driver = "org.postgresql.Driver"; private String extraParams = ""; + private List illegalParameters = Arrays.asList("socketFactory", "socketFactoryArg", "sslfactory", "sslfactoryarg", "loggerLevel", "loggerFile", "allowUrlInLocalInfile", "allowLoadLocalInfileInPath"); + public String getJdbc() { if (StringUtils.isEmpty(extraParams.trim())) { @@ -27,6 +33,11 @@ public class PgConfiguration extends JdbcConfiguration { .replace("SCHEMA", getSchema().trim()); } } else { + for (String illegalParameter : illegalParameters) { + if (getExtraParams().toLowerCase().contains(illegalParameter.toLowerCase()) || URLDecoder.decode(getExtraParams()).contains(illegalParameter.toLowerCase())) { + throw new RuntimeException("Illegal parameter: " + illegalParameter); + } + } return "jdbc:postgresql://HOSTNAME:PORT/DATABASE?EXTRA_PARAMS" .replace("HOSTNAME", getHost().trim()) .replace("PORT", getPort().toString().trim()) diff --git a/core/backend/src/main/java/io/dataease/ext/ExtDataSetTaskMapper.java b/core/backend/src/main/java/io/dataease/ext/ExtDataSetTaskMapper.java index 64e1b4170f..5b6c51d920 100644 --- a/core/backend/src/main/java/io/dataease/ext/ExtDataSetTaskMapper.java +++ b/core/backend/src/main/java/io/dataease/ext/ExtDataSetTaskMapper.java @@ -23,6 +23,8 @@ public interface ExtDataSetTaskMapper { List userTaskList(DatasetTaskGridRequest request); + String datasetPrivileges(DatasetTaskGridRequest request); + List taskWithTriggers(DatasetTaskGridRequest request); List findByPanelId(@Param("panelId") String panelId); diff --git a/core/backend/src/main/java/io/dataease/ext/ExtDataSetTaskMapper.xml b/core/backend/src/main/java/io/dataease/ext/ExtDataSetTaskMapper.xml index 57090a03ad..d8b9149d79 100644 --- a/core/backend/src/main/java/io/dataease/ext/ExtDataSetTaskMapper.xml +++ b/core/backend/src/main/java/io/dataease/ext/ExtDataSetTaskMapper.xml @@ -136,9 +136,12 @@ + +