You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by jo...@apache.org on 2020/01/10 04:01:24 UTC
[incubator-dolphinscheduler] branch dev-1.2.1 updated: update
method checkDownloadPermission in order to fix issues 1770 (#1794)
This is an automated email from the ASF dual-hosted git repository.
journey pushed a commit to branch dev-1.2.1
in repository https://gitbox.apache.org/repos/asf/incubator-dolphinscheduler.git
The following commit(s) were added to refs/heads/dev-1.2.1 by this push:
new ba859c9 update method checkDownloadPermission in order to fix issues 1770 (#1794)
ba859c9 is described below
commit ba859c9d0fe56ffd831d5661fa63be95f3d8670c
Author: lgcareer <18...@163.com>
AuthorDate: Fri Jan 10 12:01:17 2020 +0800
update method checkDownloadPermission in order to fix issues 1770 (#1794)
* add check download resource permission in order to fix issues 1770
* update method checkDownloadPermission in order to fix issues 1770
* update method listUnauthorizedResource in order to fix issues 1770
---
.../src/main/java/org/apache/dolphinscheduler/dao/ProcessDao.java | 6 +++---
.../dolphinscheduler/server/worker/runner/TaskScheduleThread.java | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/ProcessDao.java b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/ProcessDao.java
index 33fd21d..d80c9c5 100644
--- a/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/ProcessDao.java
+++ b/dolphinscheduler-dao/src/main/java/org/apache/dolphinscheduler/dao/ProcessDao.java
@@ -1774,10 +1774,10 @@ public class ProcessDao {
public List<String> listUnauthorizedResource(int userId,String[] resNames){
List<String> resultList = new ArrayList<String>();
- List<String> originResList = Arrays.asList(resNames);
- List<Resource> authorizedResourceList = resourceMapper.listAuthorizedResource(userId, resNames);
+ if(ArrayUtils.isNotEmpty(resNames)){
+ List<String> originResList = Arrays.asList(resNames);
+ List<Resource> authorizedResourceList = resourceMapper.listAuthorizedResource(userId, resNames);
- if(CollectionUtils.isNotEmpty(authorizedResourceList)){
List<String> authorizedResNames = authorizedResourceList.stream().map(t -> t.getAlias()).collect(toList());
resultList = originResList.stream().filter(item -> !authorizedResNames.contains(item)).collect(toList());
}
diff --git a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/runner/TaskScheduleThread.java b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/runner/TaskScheduleThread.java
index 27521d3..0ef6c1d 100644
--- a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/runner/TaskScheduleThread.java
+++ b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/runner/TaskScheduleThread.java
@@ -342,7 +342,7 @@ public class TaskScheduleThread implements Runnable {
// get user type in order to judge whether the user is admin
User user = processDao.getUserById(userId);
if (user.getUserType() != UserType.ADMIN_USER){
- List<String> unauthorizedResource = processDao.listUnauthorizedResource(userId, (String[]) projectRes.toArray());
+ List<String> unauthorizedResource = processDao.listUnauthorizedResource(userId, projectRes.toArray(new String[projectRes.size()]));
// if exist unauthorized resource
if(CollectionUtils.isNotEmpty(unauthorizedResource)){
logger.error("user {} didn't has download permission of resource file: {}", user.getUserName(), unauthorizedResource.toString());