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 <[email protected]>
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 <[email protected]>
---
 .../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)

Reply via email to