From 1313968954af2f0cab7d502a8a1988a934f45118 Mon Sep 17 00:00:00 2001 From: wakefu Date: Mon, 7 Sep 2026 16:14:00 +0800 Subject: [PATCH 1/3] [INLONG-12211][Manager] Add tenant verification to the source/list API --- .../manager/service/source/StreamSourceServiceImpl.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceServiceImpl.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceServiceImpl.java index c2746e0d0a..3f4a44d021 100644 --- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceServiceImpl.java +++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceServiceImpl.java @@ -227,6 +227,11 @@ public PageResult listByCondition(SourcePageRequest requ PageHelper.startPage(request.getPageNum(), request.getPageSize()); OrderFieldEnum.checkOrderField(request); OrderTypeEnum.checkOrderType(request); + InlongGroupEntity groupEntity = + groupMapper.selectByGroupId(request.getInlongGroupId()); + if (groupEntity == null) { + throw new BusinessException(ErrorCodeEnum.GROUP_NOT_FOUND); + } Page entityPage = (Page) sourceMapper.selectByCondition(request); // Encapsulate the paging query results into the PageInfo object to obtain related paging information Map> sourceMap = Maps.newHashMap(); From dae76f197e6a105ef8735abb327c4cdc7dad01c9 Mon Sep 17 00:00:00 2001 From: wakefu Date: Mon, 7 Sep 2026 16:22:38 +0800 Subject: [PATCH 2/3] [INLONG-12211][Manager] Add tenant verification to the source/list API --- .../manager/service/source/StreamSourceService.java | 3 ++- .../service/source/StreamSourceServiceImpl.java | 11 ++++++++++- .../web/controller/StreamSourceController.java | 2 +- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceService.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceService.java index 50b5150817..1c9e80b4c4 100644 --- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceService.java +++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceService.java @@ -95,9 +95,10 @@ public interface StreamSourceService { * Paging query source information based on conditions. * * @param request paging request. + * @param operator Operator's name. * @return source list */ - PageResult listByCondition(SourcePageRequest request); + PageResult listByCondition(SourcePageRequest request, String operator); /** * Paging query source information based on conditions. diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceServiceImpl.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceServiceImpl.java index 3f4a44d021..2d2772a71e 100644 --- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceServiceImpl.java +++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceServiceImpl.java @@ -44,6 +44,7 @@ import org.apache.inlong.manager.pojo.source.StreamSource; import org.apache.inlong.manager.pojo.stream.InlongStreamInfo; import org.apache.inlong.manager.pojo.stream.StreamField; +import org.apache.inlong.manager.pojo.user.LoginUserUtils; import org.apache.inlong.manager.pojo.user.UserInfo; import org.apache.inlong.manager.service.group.GroupCheckService; import org.apache.inlong.manager.service.user.UserService; @@ -223,7 +224,7 @@ public Map> getSourcesMap(InlongGroupInfo groupInfo, } @Override - public PageResult listByCondition(SourcePageRequest request) { + public PageResult listByCondition(SourcePageRequest request, String operator) { PageHelper.startPage(request.getPageNum(), request.getPageSize()); OrderFieldEnum.checkOrderField(request); OrderTypeEnum.checkOrderType(request); @@ -232,6 +233,8 @@ public PageResult listByCondition(SourcePageRequest requ if (groupEntity == null) { throw new BusinessException(ErrorCodeEnum.GROUP_NOT_FOUND); } + userService.checkUser(groupEntity.getInCharges(), operator, + "Current user does not have permission to list source info"); Page entityPage = (Page) sourceMapper.selectByCondition(request); // Encapsulate the paging query results into the PageInfo object to obtain related paging information Map> sourceMap = Maps.newHashMap(); @@ -562,6 +565,12 @@ private void chkUnmodifiableParams(SourceRequest request) { @Override public List addDataAddTask(DataAddTaskRequest request, String operator) { LOGGER.info("begin to add data add task info: {}", request); + InlongGroupEntity groupEntity = groupMapper.selectByGroupId(request.getGroupId()); + if (groupEntity == null) { + throw new BusinessException(ErrorCodeEnum.GROUP_NOT_FOUND, + String.format("InlongGroup does not exist with InlongGroupId=%s", request.getGroupId())); + } + userService.checkUser(request.getGroupId(), operator, "current user not allowed to add data add task"); String auditVersion = String.valueOf(sourceMapper.selectDataAddTaskCount(request.getGroupId(), null)); request.setAuditVersion(auditVersion); List agentIpList = request.getAgentIpList(); diff --git a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamSourceController.java b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamSourceController.java index 4253747ee1..e60a2f8bb8 100644 --- a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamSourceController.java +++ b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/StreamSourceController.java @@ -83,7 +83,7 @@ public Response get(@PathVariable Integer id) { @RequestMapping(value = "/source/list", method = RequestMethod.POST) @ApiOperation(value = "List stream sources by paginating") public Response> listByCondition(@RequestBody SourcePageRequest request) { - return Response.success(sourceService.listByCondition(request)); + return Response.success(sourceService.listByCondition(request, LoginUserUtils.getLoginUser().getName())); } @RequestMapping(value = "/source/update", method = RequestMethod.POST) From 9747f8c31ca32d0b2ec2a33c3b1dca19b3e98a19 Mon Sep 17 00:00:00 2001 From: wakefu Date: Mon, 7 Sep 2026 16:44:01 +0800 Subject: [PATCH 3/3] [INLONG-12211][Manager] Add tenant verification to the source/list API --- .../inlong/manager/service/source/StreamSourceServiceImpl.java | 1 - 1 file changed, 1 deletion(-) diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceServiceImpl.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceServiceImpl.java index 2d2772a71e..0f9296d4d2 100644 --- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceServiceImpl.java +++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/source/StreamSourceServiceImpl.java @@ -44,7 +44,6 @@ import org.apache.inlong.manager.pojo.source.StreamSource; import org.apache.inlong.manager.pojo.stream.InlongStreamInfo; import org.apache.inlong.manager.pojo.stream.StreamField; -import org.apache.inlong.manager.pojo.user.LoginUserUtils; import org.apache.inlong.manager.pojo.user.UserInfo; import org.apache.inlong.manager.service.group.GroupCheckService; import org.apache.inlong.manager.service.user.UserService;