From f250cdb0ba671ee9fd8bcb47701492f8559d99bc Mon Sep 17 00:00:00 2001 From: lgcareer <18610854716@163.com> Date: Mon, 21 Oct 2019 13:46:51 +0800 Subject: [PATCH] Added a judgment on whether the currently login user is an administrator (#1064) * rename from DatasourceUserMapper to DataSourceUserMapper * add unit test in UserMapper and WorkerGroupMapper * change cn.escheduler to org.apache.dolphinscheduler * add unit test in UdfFuncMapperTest * add unit test in UdfFuncMapperTest * remove DatabaseConfiguration * add ConnectionFactoryTest * cal duration in processInstancesList * change desc to description * change table name in mysql ddl * change table name in mysql ddl * change escheduler to dolphinscheduler * change escheduler to dolphinscheduler * change escheduler to dolphinscheduler * remove log4j-1.2-api and modify AlertMapperTest * remove log4j-1.2-api * Add alertDao to spring management * Add alertDao to spring management * get SqlSessionFactory from MybatisSqlSessionFactoryBean * get processDao by DaoFactory * read druid properties in ConneciontFactory * read druid properties in ConneciontFactory * change get alertDao by spring to DaoFactory * add log4j to resolve #967 * resole verify udf name error and delete udf error * Determine if principal is empty * Determine whether the logon user has the right to delete the project * Fixed an issue that produced attatch file named such as ATT00002.bin * fix too many connection in upgrade or create * fix NEED_FAULT_TOLERANCE and WAITTING_THREAD count fail * Added a judgment on whether the currently login user is an administrator --- .../api/controller/WorkerGroupController.java | 2 +- .../dolphinscheduler/api/service/AccessTokenService.java | 3 +++ .../dolphinscheduler/api/service/AlertGroupService.java | 3 +++ .../dolphinscheduler/api/service/WorkerGroupService.java | 7 ++++++- 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/WorkerGroupController.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/WorkerGroupController.java index d0c934ea6d..6f9f936c41 100644 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/WorkerGroupController.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/controller/WorkerGroupController.java @@ -110,7 +110,7 @@ public class WorkerGroupController extends BaseController{ try { searchVal = ParameterUtils.handleEscapes(searchVal); - Map result = workerGroupService.queryAllGroupPaging(pageNo, pageSize, searchVal); + Map result = workerGroupService.queryAllGroupPaging(loginUser,pageNo, pageSize, searchVal); return returnDataListPaging(result); }catch (Exception e){ logger.error(Status.SAVE_ERROR.getMsg(),e); diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/AccessTokenService.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/AccessTokenService.java index 344e2d91fe..e9cd0109c5 100644 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/AccessTokenService.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/AccessTokenService.java @@ -57,6 +57,9 @@ public class AccessTokenService extends BaseService { */ public Map queryAccessTokenList(User loginUser, String searchVal, Integer pageNo, Integer pageSize) { Map result = new HashMap<>(5); + if (checkAdmin(loginUser, result)) { + return result; + } PageInfo pageInfo = new PageInfo<>(pageNo, pageSize); Page page = new Page(pageNo, pageSize); diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/AlertGroupService.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/AlertGroupService.java index 7206b96055..848ca4fd2d 100644 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/AlertGroupService.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/AlertGroupService.java @@ -81,6 +81,9 @@ public class AlertGroupService { public Map listPaging(User loginUser, String searchVal, Integer pageNo, Integer pageSize) { Map result = new HashMap<>(5); + if (checkAdmin(loginUser, result)) { + return result; + } Page page = new Page(pageNo, pageSize); IPage alertGroupIPage = alertGroupMapper.queryAlertGroupPage( diff --git a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/WorkerGroupService.java b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/WorkerGroupService.java index c8809908b8..3b67e02c19 100644 --- a/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/WorkerGroupService.java +++ b/dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/WorkerGroupService.java @@ -19,6 +19,7 @@ package org.apache.dolphinscheduler.api.service; import org.apache.dolphinscheduler.api.enums.Status; import org.apache.dolphinscheduler.api.utils.Constants; import org.apache.dolphinscheduler.api.utils.PageInfo; +import org.apache.dolphinscheduler.dao.entity.User; import org.apache.dolphinscheduler.dao.entity.WorkerGroup; import org.apache.dolphinscheduler.dao.mapper.WorkerGroupMapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -108,14 +109,18 @@ public class WorkerGroupService extends BaseService { /** * query worker group paging + * @param loginUser * @param pageNo * @param pageSize * @param searchVal * @return */ - public Map queryAllGroupPaging(Integer pageNo, Integer pageSize, String searchVal) { + public Map queryAllGroupPaging(User loginUser, Integer pageNo, Integer pageSize, String searchVal) { Map result = new HashMap<>(5); + if (checkAdmin(loginUser, result)) { + return result; + } Page page = new Page(pageNo, pageSize); IPage workerGroupIPage = workerGroupMapper.queryListPaging(