You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@inlong.apache.org by wa...@apache.org on 2026/09/08 02:54:41 UTC

(inlong) branch master updated: [INLONG-12211][Manager] Add tenant verification to the source/list API (#12212)

This is an automated email from the ASF dual-hosted git repository.

fuweng11 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/inlong.git


The following commit(s) were added to refs/heads/master by this push:
     new 460761044d [INLONG-12211][Manager] Add tenant verification to the source/list API (#12212)
460761044d is described below

commit 460761044d463a97391afcecb127266cd83f362a
Author: fuweng11 <76...@users.noreply.github.com>
AuthorDate: Tue Sep 8 10:54:33 2026 +0800

    [INLONG-12211][Manager] Add tenant verification to the source/list API (#12212)
    
    * [INLONG-12211][Manager] Add tenant verification to the source/list API
    
    * [INLONG-12211][Manager] Add tenant verification to the source/list API
    
    * [INLONG-12211][Manager] Add tenant verification to the source/list API
    
    ---------
    
    Co-authored-by: wakefu <wa...@tencent.com>
---
 .../manager/service/source/StreamSourceService.java       |  3 ++-
 .../manager/service/source/StreamSourceServiceImpl.java   | 15 ++++++++++++++-
 .../manager/web/controller/StreamSourceController.java    |  2 +-
 3 files changed, 17 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<? extends StreamSource> listByCondition(SourcePageRequest request);
+    PageResult<? extends StreamSource> 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 c2746e0d0a..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
@@ -223,10 +223,17 @@ public class StreamSourceServiceImpl implements StreamSourceService {
     }
 
     @Override
-    public PageResult<? extends StreamSource> listByCondition(SourcePageRequest request) {
+    public PageResult<? extends StreamSource> listByCondition(SourcePageRequest request, String operator) {
         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);
+        }
+        userService.checkUser(groupEntity.getInCharges(), operator,
+                "Current user does not have permission to list source info");
         Page<StreamSourceEntity> entityPage = (Page<StreamSourceEntity>) sourceMapper.selectByCondition(request);
         // Encapsulate the paging query results into the PageInfo object to obtain related paging information
         Map<String, Page<StreamSourceEntity>> sourceMap = Maps.newHashMap();
@@ -557,6 +564,12 @@ public class StreamSourceServiceImpl implements StreamSourceService {
     @Override
     public List<Integer> 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<String> 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 class StreamSourceController {
     @RequestMapping(value = "/source/list", method = RequestMethod.POST)
     @ApiOperation(value = "List stream sources by paginating")
     public Response<PageResult<? extends StreamSource>> 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)