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

peacewong pushed a commit to branch dev-1.3.1
in repository https://gitbox.apache.org/repos/asf/incubator-linkis.git


The following commit(s) were added to refs/heads/dev-1.3.1 by this push:
     new df328096e [Feature-3838]Add necessary audit log for datasoure  (#3839)
df328096e is described below

commit df328096e0bee0177719bc7bcfced49abce14d41
Author: Casion <[email protected]>
AuthorDate: Thu Nov 17 14:26:37 2022 +0800

    [Feature-3838]Add necessary audit log for datasoure  (#3839)
    
    * Add some audit log for datasoure query (#26)
---
 .../datasourcemanager/common/auth/AuthContext.java |  15 ---
 .../core/restful/DataSourceCoreRestfulApi.java     | 117 +++++++++++++--------
 .../core/restful/DataSourceOperateRestfulApi.java  |   4 +-
 .../restful/DataSourceAdminRestfulApiTest.java     |  47 +++++----
 .../core/restful/DataSourceCoreRestfulApiTest.java |  99 +++++++++++------
 .../query/server/restful/MetadataCoreRestful.java  |  25 +++--
 .../query/server/restful/MetadataQueryRestful.java |  27 +++--
 .../server/restful/MetadataCoreRestfulTest.java    |  85 ++++++++++++---
 .../server/restful/MetadataQueryRestfulTest.java   |  71 ++++++++++---
 9 files changed, 326 insertions(+), 164 deletions(-)

diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/auth/AuthContext.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/auth/AuthContext.java
index acb7f1c41..c37048393 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/auth/AuthContext.java
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/common/src/main/java/org/apache/linkis/datasourcemanager/common/auth/AuthContext.java
@@ -19,12 +19,9 @@ package org.apache.linkis.datasourcemanager.common.auth;
 
 import org.apache.linkis.common.conf.CommonVars;
 import org.apache.linkis.datasourcemanager.common.domain.DataSource;
-import org.apache.linkis.server.security.SecurityFilter;
 
 import org.apache.commons.lang3.StringUtils;
 
-import javax.servlet.http.HttpServletRequest;
-
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Objects;
@@ -50,18 +47,6 @@ public class AuthContext {
     }
   }
 
-  /**
-   * If has permission of data source
-   *
-   * @param dataSource data source
-   * @param request request
-   * @return boolean
-   */
-  public static boolean hasPermission(DataSource dataSource, 
HttpServletRequest request) {
-    String username = SecurityFilter.getLoginUsername(request);
-    return hasPermission(dataSource, username);
-  }
-
   public static boolean hasPermission(DataSource dataSource, String username) {
     if (Objects.nonNull(dataSource)) {
       String creator = dataSource.getCreateUser();
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceCoreRestfulApi.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceCoreRestfulApi.java
index 9eeefda38..52ab4ff49 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceCoreRestfulApi.java
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceCoreRestfulApi.java
@@ -18,6 +18,7 @@
 package org.apache.linkis.datasourcemanager.core.restful;
 
 import org.apache.linkis.common.exception.ErrorException;
+import org.apache.linkis.datasourcemanager.common.ServiceErrorCode;
 import org.apache.linkis.datasourcemanager.common.auth.AuthContext;
 import org.apache.linkis.datasourcemanager.common.domain.DataSource;
 import 
org.apache.linkis.datasourcemanager.common.domain.DataSourceParamKeyDefinition;
@@ -35,15 +36,11 @@ import 
org.apache.linkis.datasourcemanager.core.validate.ParameterValidator;
 import org.apache.linkis.datasourcemanager.core.vo.DataSourceVo;
 import org.apache.linkis.metadata.query.common.MdmConfiguration;
 import org.apache.linkis.server.Message;
-import org.apache.linkis.server.security.SecurityFilter;
 
+import org.apache.linkis.server.utils.ModuleUserUtils;
+import org.codehaus.jackson.map.ObjectMapper;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.PostConstruct;
 import javax.servlet.http.HttpServletRequest;
@@ -52,15 +49,6 @@ import javax.validation.ConstraintViolationException;
 import javax.validation.Validator;
 import javax.validation.groups.Default;
 
-import java.io.UnsupportedEncodingException;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Set;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
 import com.github.pagehelper.PageInfo;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.Api;
@@ -70,6 +58,9 @@ import io.swagger.annotations.ApiOperation;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.io.UnsupportedEncodingException;
+import java.util.*;
+
 import static 
org.apache.linkis.datasourcemanager.common.errorcode.LinkisDatasourceManagerErrorCodeSummary.DATASOURCE_NOT_FOUND;
 
 @Api(tags = "data source core restful api")
@@ -80,6 +71,7 @@ import static 
org.apache.linkis.datasourcemanager.common.errorcode.LinkisDatasou
 public class DataSourceCoreRestfulApi {
 
     private static final Logger LOG = 
LoggerFactory.getLogger(DataSourceCoreRestfulApi.class);
+
     @Autowired private DataSourceInfoService dataSourceInfoService;
 
     @Autowired private DataSourceRelateService dataSourceRelateService;
@@ -101,9 +93,10 @@ public class DataSourceCoreRestfulApi {
 
     @ApiOperation(value = "getAllDataSourceTypes", notes = "get all data 
source types", response = Message.class)
     @RequestMapping(value = "/type/all", method = RequestMethod.GET)
-    public Message getAllDataSourceTypes() {
+    public Message getAllDataSourceTypes(HttpServletRequest request) {
         return RestfulApiHelper.doAndResponse(
                 () -> {
+                    String userName = 
ModuleUserUtils.getOperationUser(request, "getAllDataSourceTypes");
                     List<DataSourceType> dataSourceTypes =
                             dataSourceRelateService.getAllDataSourceTypes();
                     return Message.ok().data("typeList", dataSourceTypes);
@@ -117,12 +110,13 @@ public class DataSourceCoreRestfulApi {
     })
     @RequestMapping(value = "/key-define/type/{typeId}", method = 
RequestMethod.GET)
     public Message getKeyDefinitionsByType(
-            @PathVariable("typeId") Long dataSourceTypeId, HttpServletRequest 
req) {
+            @PathVariable("typeId") Long dataSourceTypeId, HttpServletRequest 
request) {
         return RestfulApiHelper.doAndResponse(
                 () -> {
+                    String userName = 
ModuleUserUtils.getOperationUser(request, "getKeyDefinitionsByType");
                     List<DataSourceParamKeyDefinition> keyDefinitions =
                             dataSourceRelateService.getKeyDefinitionsByType(
-                                    dataSourceTypeId, 
req.getHeader("Content-Language"));
+                                    dataSourceTypeId, 
request.getHeader("Content-Language"));
                     return Message.ok().data("keyDefine", keyDefinitions);
                 },
                 "Fail to get key definitions of data source 
type[查询数据源参数键值对失败]");
@@ -144,10 +138,12 @@ public class DataSourceCoreRestfulApi {
         @ApiImplicitParam(name = "username", required = false, dataType = 
"String", value = "user name")
     })
     @RequestMapping(value = "/info/json", method = RequestMethod.POST)
-    public Message insertJsonInfo(@RequestBody DataSource dataSource, 
HttpServletRequest req) {
+    public Message insertJsonInfo(@RequestBody DataSource dataSource, 
HttpServletRequest request) {
         return RestfulApiHelper.doAndResponse(
                 () -> {
-                    String userName = SecurityFilter.getLoginUsername(req);
+
+                    String userName = 
ModuleUserUtils.getOperationUser(request, "insertJsonInfo");
+
                     // Bean validation
                     Set<ConstraintViolation<DataSource>> result =
                             beanValidator.validate(dataSource, Default.class);
@@ -197,10 +193,10 @@ public class DataSourceCoreRestfulApi {
     public Message updateDataSourceInJson(
             @RequestBody DataSource dataSource,
             @PathVariable("dataSourceId") Long dataSourceId,
-            HttpServletRequest req) {
+            HttpServletRequest request) {
         return RestfulApiHelper.doAndResponse(
                 () -> {
-                    String userName = SecurityFilter.getLoginUsername(req);
+                    String userName = 
ModuleUserUtils.getOperationUser(request, "updateDataSourceInJson");
                     // Bean validation
                     Set<ConstraintViolation<DataSource>> result =
                             beanValidator.validate(dataSource, Default.class);
@@ -247,7 +243,7 @@ public class DataSourceCoreRestfulApi {
      * create or update parameter, save a version of parameter,return version 
id.
      *
      * @param params
-     * @param req
+     * @param request
      * @return
      */
     @ApiOperation(value = "insertJsonParameter", notes = "insert json 
parameter", response = Message.class)
@@ -259,12 +255,14 @@ public class DataSourceCoreRestfulApi {
     public Message insertJsonParameter(
             @PathVariable("dataSourceId") Long dataSourceId,
             @RequestBody() Map<String, Object> params,
-            HttpServletRequest req) {
+            HttpServletRequest request) {
         return RestfulApiHelper.doAndResponse(
                 () -> {
+                    String userName = 
ModuleUserUtils.getOperationUser(request, "insertJsonParameter");
+
                     Map<String, Object> connectParams = (Map) 
params.get("connectParams");
                     String comment = params.get("comment").toString();
-                    String userName = SecurityFilter.getLoginUsername(req);
+
 
                     DataSource dataSource =
                             
dataSourceInfoService.getDataSourceInfoBrief(dataSourceId);
@@ -313,11 +311,13 @@ public class DataSourceCoreRestfulApi {
             @PathVariable("dataSourceId") Long dataSourceId, 
HttpServletRequest request) {
         return RestfulApiHelper.doAndResponse(
                 () -> {
+                    String userName = 
ModuleUserUtils.getOperationUser(request, "getInfoByDataSourceId 
dataSourceId:"+dataSourceId);
+
                     DataSource dataSource = 
dataSourceInfoService.getDataSourceInfo(dataSourceId);
                     if (dataSource == null) {
                         return Message.error("No Exists The DataSource 
[不存在该数据源]");
                     }
-                    if (!AuthContext.hasPermission(dataSource, request)) {
+                    if (!AuthContext.hasPermission(dataSource, userName)) {
                         return Message.error(
                                 "Don't have query permission for data source 
[没有数据源的查询权限]");
                     }
@@ -341,13 +341,16 @@ public class DataSourceCoreRestfulApi {
             throws UnsupportedEncodingException {
         return RestfulApiHelper.doAndResponse(
                 () -> {
+
+                    String userName = 
ModuleUserUtils.getOperationUser(request, "getInfoByDataSourceName 
dataSourceName:"+dataSourceName);
+
                     DataSource dataSource = 
dataSourceInfoService.getDataSourceInfo(dataSourceName);
 
                     if (dataSource == null) {
                         return Message.error("No Exists The DataSource 
[不存在该数据源]");
                     }
 
-                    if (!AuthContext.hasPermission(dataSource, request)) {
+                    if (!AuthContext.hasPermission(dataSource, userName)) {
                         return Message.error(
                                 "Don't have query permission for data source 
[没有数据源的查询权限]");
                     }
@@ -373,13 +376,16 @@ public class DataSourceCoreRestfulApi {
         throws UnsupportedEncodingException {
         return RestfulApiHelper.doAndResponse(
             () -> {
+                String userName = ModuleUserUtils.getOperationUser(request, 
"getPublishedInfoByDataSourceName dataSourceName:"+dataSourceName);
+
+
                 DataSource dataSource = 
dataSourceInfoService.getDataSourcePublishInfo(dataSourceName);
 
                 if (dataSource == null) {
                     return Message.error("No Exists The DataSource [不存在该数据源]");
                 }
 
-                if (!AuthContext.hasPermission(dataSource, request)) {
+                if (!AuthContext.hasPermission(dataSource, userName)) {
                     return Message.error(
                         "Don't have query permission for data source 
[没有数据源的查询权限]");
                 }
@@ -414,6 +420,8 @@ public class DataSourceCoreRestfulApi {
             HttpServletRequest request) {
         return RestfulApiHelper.doAndResponse(
                 () -> {
+                    String userName = 
ModuleUserUtils.getOperationUser(request, "getInfoByDataSourceIdAndVersion 
dataSourceId:"+dataSourceId);
+
                     DataSource dataSource =
                             
dataSourceInfoService.getDataSourceInfo(dataSourceId, version);
 
@@ -421,7 +429,7 @@ public class DataSourceCoreRestfulApi {
                         return Message.error("No Exists The DataSource 
[不存在该数据源]");
                     }
 
-                    if (!AuthContext.hasPermission(dataSource, request)) {
+                    if (!AuthContext.hasPermission(dataSource, userName)) {
                         return Message.error(
                                 "Don't have query permission for data source 
[没有数据源的查询权限]");
                     }
@@ -451,6 +459,8 @@ public class DataSourceCoreRestfulApi {
             @PathVariable("dataSourceId") Long dataSourceId, 
HttpServletRequest request) {
         return RestfulApiHelper.doAndResponse(
                 () -> {
+                    String userName = 
ModuleUserUtils.getOperationUser(request, "getVersionList 
dataSourceId:"+dataSourceId);
+
                     DataSource dataSource =
                             
dataSourceInfoService.getDataSourceInfoBrief(dataSourceId);
 
@@ -458,7 +468,7 @@ public class DataSourceCoreRestfulApi {
                         return Message.error("No Exists The DataSource 
[不存在该数据源]");
                     }
 
-                    if (!AuthContext.hasPermission(dataSource, request)) {
+                    if (!AuthContext.hasPermission(dataSource, userName)) {
                         return Message.error(
                                 "Don't have query permission for data source 
[没有数据源的查询权限]");
                     }
@@ -491,6 +501,8 @@ public class DataSourceCoreRestfulApi {
             HttpServletRequest request) {
         return RestfulApiHelper.doAndResponse(
                 () -> {
+                    String userName = 
ModuleUserUtils.getOperationUser(request, "publishByDataSourceId 
dataSourceId:"+dataSourceId);
+
                     // Get brief info
                     DataSource dataSource =
                             
dataSourceInfoService.getDataSourceInfoBrief(dataSourceId);
@@ -499,7 +511,7 @@ public class DataSourceCoreRestfulApi {
                         return Message.error("No Exists The DataSource 
[不存在该数据源]");
                     }
 
-                    if (!AuthContext.hasPermission(dataSource, request)) {
+                    if (!AuthContext.hasPermission(dataSource, userName)) {
                         return Message.error(
                                 "Don't have publish permission for data source 
[没有数据源的发布权限]");
                     }
@@ -528,6 +540,8 @@ public class DataSourceCoreRestfulApi {
             @PathVariable("dataSourceId") Long dataSourceId, 
HttpServletRequest request) {
         return RestfulApiHelper.doAndResponse(
                 () -> {
+                    String userName = 
ModuleUserUtils.getOperationUser(request, "removeDataSource 
dataSourceId:"+dataSourceId);
+
                     // Get brief info
                     DataSource dataSource =
                             
dataSourceInfoService.getDataSourceInfoBrief(dataSourceId);
@@ -536,7 +550,7 @@ public class DataSourceCoreRestfulApi {
                         return Message.error("No Exists The DataSource 
[不存在该数据源]");
                     }
 
-                    if (!AuthContext.hasPermission(dataSource, request)) {
+                    if (!AuthContext.hasPermission(dataSource, userName)) {
                         return Message.error(
                                 "Don't have delete permission for data source 
[没有数据源的删除权限]");
                     }
@@ -559,6 +573,8 @@ public class DataSourceCoreRestfulApi {
             @PathVariable("dataSourceId") Long dataSourceId, 
HttpServletRequest request) {
         return RestfulApiHelper.doAndResponse(
                 () -> {
+                    String userName = 
ModuleUserUtils.getOperationUser(request, "expireDataSource 
dataSourceId:"+dataSourceId);
+
                     // Get brief info
                     DataSource dataSource =
                             
dataSourceInfoService.getDataSourceInfoBrief(dataSourceId);
@@ -567,7 +583,7 @@ public class DataSourceCoreRestfulApi {
                         return Message.error("No Exists The DataSource 
[不存在该数据源]");
                     }
 
-                    if (!AuthContext.hasPermission(dataSource, request)) {
+                    if (!AuthContext.hasPermission(dataSource, userName)) {
                         return Message.error(
                                 "Don't have operation permission for data 
source [没有数据源的操作权限]");
                     }
@@ -585,7 +601,7 @@ public class DataSourceCoreRestfulApi {
      * get datasource connect params for publish version
      *
      * @param dataSourceId
-     * @param req
+     * @param request
      * @return
      */
     @ApiOperation(value = "getConnectParams(dataSourceId)", notes = "get 
connect params(dataSourceId)", response = Message.class)
@@ -594,9 +610,11 @@ public class DataSourceCoreRestfulApi {
     })
     @RequestMapping(value = "/{dataSourceId}/connect-params", method = 
RequestMethod.GET)
     public Message getConnectParams(
-            @PathVariable("dataSourceId") Long dataSourceId, 
HttpServletRequest req) {
+            @PathVariable("dataSourceId") Long dataSourceId, 
HttpServletRequest request) {
         return RestfulApiHelper.doAndResponse(
                 () -> {
+                    String userName = 
ModuleUserUtils.getOperationUser(request, "getConnectParams 
dataSourceId:"+dataSourceId);
+
                     DataSource dataSource =
                             
dataSourceInfoService.getDataSourceInfoForConnect(dataSourceId);
 
@@ -604,7 +622,7 @@ public class DataSourceCoreRestfulApi {
                         return Message.error("No Exists The DataSource 
[不存在该数据源]");
                     }
 
-                    if (!AuthContext.hasPermission(dataSource, req)) {
+                    if (!AuthContext.hasPermission(dataSource, userName)) {
                         return Message.error(
                                 "Don't have query permission for data source 
[没有数据源的查询权限]");
                     }
@@ -624,10 +642,13 @@ public class DataSourceCoreRestfulApi {
     })
     @RequestMapping(value = "/name/{dataSourceName}/connect-params", method = 
RequestMethod.GET)
     public Message getConnectParams(
-            @PathVariable("dataSourceName") String dataSourceName, 
HttpServletRequest req)
+            @PathVariable("dataSourceName") String dataSourceName, 
HttpServletRequest request)
             throws UnsupportedEncodingException {
         return RestfulApiHelper.doAndResponse(
                 () -> {
+
+                    String userName = 
ModuleUserUtils.getOperationUser(request, "getConnectParams 
dataSourceName:"+dataSourceName);
+
                     DataSource dataSource =
                             
dataSourceInfoService.getDataSourceInfoForConnect(dataSourceName);
 
@@ -635,7 +656,7 @@ public class DataSourceCoreRestfulApi {
                         return Message.error("No Exists The DataSource 
[不存在该数据源]");
                     }
 
-                    if (!AuthContext.hasPermission(dataSource, req)) {
+                    if (!AuthContext.hasPermission(dataSource, userName)) {
                         return Message.error(
                                 "Don't have query permission for data source 
[没有数据源的查询权限]");
                     }
@@ -658,10 +679,11 @@ public class DataSourceCoreRestfulApi {
     public Message connectDataSource(
             @PathVariable("dataSourceId") Long dataSourceId,
             @PathVariable("version") Long version,
-            HttpServletRequest req) {
+            HttpServletRequest request) {
         return RestfulApiHelper.doAndResponse(
                 () -> {
-                    String operator = SecurityFilter.getLoginUsername(req);
+                    String operator = 
ModuleUserUtils.getOperationUser(request, "connectDataSource 
dataSourceId:"+dataSourceId);
+
                     DataSource dataSource =
                             dataSourceInfoService.getDataSourceInfoForConnect(
                                     dataSourceId, version);
@@ -669,7 +691,7 @@ public class DataSourceCoreRestfulApi {
                         return Message.error("No Exists The DataSource 
[不存在该数据源]");
                     }
 
-                    if (!AuthContext.hasPermission(dataSource, req)) {
+                    if (!AuthContext.hasPermission(dataSource, operator)) {
                         return Message.error(
                                 "Don't have operation permission for data 
source [没有数据源的操作权限]");
                     }
@@ -706,9 +728,12 @@ public class DataSourceCoreRestfulApi {
     @RequestMapping(value = "/info/ids", method = RequestMethod.GET)
     public Message queryDataSource(
             @RequestParam(value = "ids") String idsJson
-            , HttpServletRequest req) {
+            , HttpServletRequest request) {
         return RestfulApiHelper.doAndResponse(
                 () -> {
+
+                    String userName = 
ModuleUserUtils.getOperationUser(request, "queryDataSourceByIds ids:"+idsJson);
+
                     List ids = new ObjectMapper().readValue(idsJson, 
List.class);
                     List<DataSource> dataSourceList = 
dataSourceInfoService.queryDataSourceInfo(ids);
                     return Message.ok()
@@ -735,15 +760,17 @@ public class DataSourceCoreRestfulApi {
             @RequestParam(value = "identifies", required = false) String 
identifies,
             @RequestParam(value = "currentPage", required = false) Integer 
currentPage,
             @RequestParam(value = "pageSize", required = false) Integer 
pageSize,
-            HttpServletRequest req) {
+            HttpServletRequest request) {
         return RestfulApiHelper.doAndResponse(
                 () -> {
+                    String permissionUser = 
ModuleUserUtils.getOperationUser(request, "queryDataSource");
+
                     DataSourceVo dataSourceVo =
                             new DataSourceVo(
                                     dataSourceName, dataSourceTypeId, 
identifies, createSystem);
                     dataSourceVo.setCurrentPage(null != currentPage ? 
currentPage : 1);
                     dataSourceVo.setPageSize(null != pageSize ? pageSize : 10);
-                    String permissionUser = 
SecurityFilter.getLoginUsername(req);
+
                     if (AuthContext.isAdministrator(permissionUser)) {
                         permissionUser = null;
                     }
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceOperateRestfulApi.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceOperateRestfulApi.java
index 30ab359f4..28c6ace62 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceOperateRestfulApi.java
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceOperateRestfulApi.java
@@ -31,8 +31,8 @@ import 
org.apache.linkis.datasourcemanager.core.validate.ParameterValidateExcept
 import org.apache.linkis.datasourcemanager.core.validate.ParameterValidator;
 import org.apache.linkis.metadata.query.common.MdmConfiguration;
 import org.apache.linkis.server.Message;
-import org.apache.linkis.server.security.SecurityFilter;
 
+import org.apache.linkis.server.utils.ModuleUserUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -89,7 +89,7 @@ public class DataSourceOperateRestfulApi {
     public Message connect(@RequestBody DataSource dataSource, 
HttpServletRequest request) {
         return RestfulApiHelper.doAndResponse(
                 () -> {
-                    String operator = SecurityFilter.getLoginUsername(request);
+                    String operator = 
ModuleUserUtils.getOperationUser(request, "do connect");
                     // Bean validation
                     Set<ConstraintViolation<DataSource>> result =
                             beanValidator.validate(dataSource, Default.class);
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/test/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceAdminRestfulApiTest.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/test/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceAdminRestfulApiTest.java
index 70d035075..d383d4dbd 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/test/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceAdminRestfulApiTest.java
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/test/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceAdminRestfulApiTest.java
@@ -25,8 +25,7 @@ import 
org.apache.linkis.datasourcemanager.core.service.DataSourceInfoService;
 import org.apache.linkis.datasourcemanager.core.validate.ParameterValidator;
 import org.apache.linkis.server.Message;
 import org.apache.linkis.server.MessageStatus;
-import org.apache.linkis.server.conf.ServerConfiguration;
-import org.apache.linkis.server.security.SecurityFilter;
+import org.apache.linkis.server.utils.ModuleUserUtils;
 
 import org.apache.commons.collections.CollectionUtils;
 
@@ -41,7 +40,9 @@ import javax.servlet.http.HttpServletRequest;
 import javax.validation.Validator;
 
 import java.io.StringWriter;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
 
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.BeforeAll;
@@ -52,7 +53,7 @@ import org.mockito.Mockito;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import static org.junit.jupiter.api.Assertions.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.isA;
@@ -72,18 +73,16 @@ class DataSourceAdminRestfulApiTest {
 
   @MockBean private DataSourceInfoService dataSourceInfoService;
 
-  private static MockedStatic<SecurityFilter> securityFilter;
-  @MockBean private ServerConfiguration serverConfiguration;
+  private static MockedStatic<ModuleUserUtils> moduleUserUtils;
 
   @BeforeAll
   private static void init() {
-    System.setProperty("wds.linkis.server.version", "v1");
-    securityFilter = Mockito.mockStatic(SecurityFilter.class);
+    moduleUserUtils = Mockito.mockStatic(ModuleUserUtils.class);
   }
 
   @AfterAll
   private static void close() {
-    securityFilter.close();
+    moduleUserUtils.close();
   }
 
   @Test
@@ -95,8 +94,10 @@ class DataSourceAdminRestfulApiTest {
     dataSourceEnv.setId(dataSourceEnvId);
     StringWriter dsJsonWriter = new StringWriter();
     JsonUtils.jackson().writeValue(dsJsonWriter, dataSourceEnv);
-    securityFilter
-        .when(() -> 
SecurityFilter.getLoginUsername(isA(HttpServletRequest.class)))
+    moduleUserUtils
+        .when(
+            () ->
+                
ModuleUserUtils.getOperationUser(isA(HttpServletRequest.class), 
isA(String.class)))
         .thenReturn("testUser", "hadoop");
     Message mvcResult =
         mvcUtils.getMessage(mvcUtils.buildMvcResultPost(url, 
dsJsonWriter.toString()));
@@ -125,8 +126,10 @@ class DataSourceAdminRestfulApiTest {
     dataSourceEnvList.add(dataSourceEnv);
     StringWriter dsJsonWriter = new StringWriter();
     JsonUtils.jackson().writeValue(dsJsonWriter, dataSourceEnvList);
-    securityFilter
-        .when(() -> 
SecurityFilter.getLoginUsername(isA(HttpServletRequest.class)))
+    moduleUserUtils
+        .when(
+            () ->
+                
ModuleUserUtils.getOperationUser(isA(HttpServletRequest.class), 
isA(String.class)))
         .thenReturn("testUser", "hadoop");
     Message mvcResult =
         mvcUtils.getMessage(mvcUtils.buildMvcResultPost(url + fromSystem, 
dsJsonWriter.toString()));
@@ -161,8 +164,10 @@ class DataSourceAdminRestfulApiTest {
     JsonUtils.jackson().writeValue(dsJsonWriter, dataSourceEnvList);
 
     MvcUtils mvcUtils = new MvcUtils(mockMvc);
-    securityFilter
-        .when(() -> 
SecurityFilter.getLoginUsername(isA(HttpServletRequest.class)))
+    moduleUserUtils
+        .when(
+            () ->
+                
ModuleUserUtils.getOperationUser(isA(HttpServletRequest.class), 
isA(String.class)))
         .thenReturn("testUser", "hadoop");
     Message mvcResult =
         mvcUtils.getMessage(mvcUtils.buildMvcResultPut(url + fromSystem, 
dsJsonWriter.toString()));
@@ -219,8 +224,10 @@ class DataSourceAdminRestfulApiTest {
     long dataSourceEnvId = 10l;
     String url = String.format("/data-source-manager/env/%s", dataSourceEnvId);
     MvcUtils mvcUtils = new MvcUtils(mockMvc);
-    securityFilter
-        .when(() -> 
SecurityFilter.getLoginUsername(isA(HttpServletRequest.class)))
+    moduleUserUtils
+        .when(
+            () ->
+                
ModuleUserUtils.getOperationUser(isA(HttpServletRequest.class), 
isA(String.class)))
         .thenReturn("testUser", "hadoop");
     Message mvcResult = 
mvcUtils.getMessage(mvcUtils.buildMvcResultDelete(url));
     assertTrue(
@@ -246,8 +253,10 @@ class DataSourceAdminRestfulApiTest {
     JsonUtils.jackson().writeValue(dsJsonWriter, dataSourceEnv);
 
     MvcUtils mvcUtils = new MvcUtils(mockMvc);
-    securityFilter
-        .when(() -> 
SecurityFilter.getLoginUsername(isA(HttpServletRequest.class)))
+    moduleUserUtils
+        .when(
+            () ->
+                
ModuleUserUtils.getOperationUser(isA(HttpServletRequest.class), 
isA(String.class)))
         .thenReturn("testUser", "hadoop");
     Message mvcResult =
         mvcUtils.getMessage(mvcUtils.buildMvcResultPut(url, 
dsJsonWriter.toString()));
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/test/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceCoreRestfulApiTest.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/test/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceCoreRestfulApiTest.java
index 35ea7d122..2a4a9e933 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/test/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceCoreRestfulApiTest.java
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/test/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceCoreRestfulApiTest.java
@@ -30,7 +30,8 @@ import 
org.apache.linkis.datasourcemanager.core.validate.ParameterValidator;
 import org.apache.linkis.datasourcemanager.core.vo.DataSourceVo;
 import org.apache.linkis.server.Message;
 import org.apache.linkis.server.MessageStatus;
-import org.apache.linkis.server.security.SecurityFilter;
+import org.apache.linkis.server.conf.ServerConfiguration;
+import org.apache.linkis.server.utils.ModuleUserUtils;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import 
org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
@@ -52,6 +53,7 @@ import java.util.*;
 import com.github.pagehelper.PageInfo;
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.MockedStatic;
@@ -62,7 +64,8 @@ import org.slf4j.LoggerFactory;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.mockito.ArgumentMatchers.*;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.isA;
 
 @ExtendWith({SpringExtension.class})
 @AutoConfigureMockMvc
@@ -83,18 +86,23 @@ class DataSourceCoreRestfulApiTest {
 
   @MockBean MetadataOperateService metadataOperateService;
 
-  private static MockedStatic<SecurityFilter> securityFilter;
+  @MockBean private ServerConfiguration serverConfiguration;
+
+  private static MockedStatic<ModuleUserUtils> moduleUserUtils;
 
   @BeforeAll
   private static void init() {
-    securityFilter = Mockito.mockStatic(SecurityFilter.class);
+    moduleUserUtils = Mockito.mockStatic(ModuleUserUtils.class);
   }
 
   @AfterAll
   private static void close() {
-    securityFilter.close();
+    moduleUserUtils.close();
   }
 
+  @BeforeEach
+  public void setUp() {}
+
   @Test
   void getAllDataSourceTypes() throws Exception {
     MvcUtils mvcUtils = new MvcUtils(mockMvc);
@@ -152,8 +160,10 @@ class DataSourceCoreRestfulApiTest {
     dataSource.setDataSourceName("ds-hive");
     StringWriter dsJsonWriter = new StringWriter();
     JsonUtils.jackson().writeValue(dsJsonWriter, dataSource);
-    securityFilter
-        .when(() -> 
SecurityFilter.getLoginUsername(isA(HttpServletRequest.class)))
+    moduleUserUtils
+        .when(
+            () ->
+                
ModuleUserUtils.getOperationUser(isA(HttpServletRequest.class), 
isA(String.class)))
         .thenReturn("testUser");
     Message res = mvcUtils.getMessage(mvcUtils.buildMvcResultPut(url, 
dsJsonWriter.toString()));
     assertTrue(
@@ -194,8 +204,10 @@ class DataSourceCoreRestfulApiTest {
     StringWriter dsJsonWriter = new StringWriter();
     JsonUtils.jackson().writeValue(dsJsonWriter, params);
 
-    securityFilter
-        .when(() -> 
SecurityFilter.getLoginUsername(isA(HttpServletRequest.class)))
+    moduleUserUtils
+        .when(
+            () ->
+                
ModuleUserUtils.getOperationUser(isA(HttpServletRequest.class), 
isA(String.class)))
         .thenReturn("testUser");
     Message res = mvcUtils.getMessage(mvcUtils.buildMvcResultPost(url, 
dsJsonWriter.toString()));
     assertTrue(
@@ -240,8 +252,10 @@ class DataSourceCoreRestfulApiTest {
         MessageStatus.ERROR() == res.getStatus()
             && res.getMessage().contains("No Exists The DataSource"));
 
-    securityFilter
-        .when(() -> 
SecurityFilter.getLoginUsername(isA(HttpServletRequest.class)))
+    moduleUserUtils
+        .when(
+            () ->
+                
ModuleUserUtils.getOperationUser(isA(HttpServletRequest.class), 
isA(String.class)))
         .thenReturn("testUser")
         .thenReturn("hadoop");
     res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url));
@@ -269,8 +283,10 @@ class DataSourceCoreRestfulApiTest {
         MessageStatus.ERROR() == res.getStatus()
             && res.getMessage().contains("No Exists The DataSource"));
 
-    securityFilter
-        .when(() -> 
SecurityFilter.getLoginUsername(isA(HttpServletRequest.class)))
+    moduleUserUtils
+        .when(
+            () ->
+                
ModuleUserUtils.getOperationUser(isA(HttpServletRequest.class), 
isA(String.class)))
         .thenReturn("testUser")
         .thenReturn("hadoop");
     res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url));
@@ -300,10 +316,13 @@ class DataSourceCoreRestfulApiTest {
         MessageStatus.ERROR() == res.getStatus()
             && res.getMessage().contains("No Exists The DataSource"));
 
-    securityFilter
-        .when(() -> 
SecurityFilter.getLoginUsername(isA(HttpServletRequest.class)))
+    moduleUserUtils
+        .when(
+            () ->
+                
ModuleUserUtils.getOperationUser(isA(HttpServletRequest.class), 
isA(String.class)))
         .thenReturn("testUser")
         .thenReturn("hadoop");
+
     res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url));
     assertTrue(
         MessageStatus.ERROR() == res.getStatus()
@@ -329,8 +348,10 @@ class DataSourceCoreRestfulApiTest {
         MessageStatus.ERROR() == res.getStatus()
             && res.getMessage().contains("No Exists The DataSource"));
 
-    securityFilter
-        .when(() -> 
SecurityFilter.getLoginUsername(isA(HttpServletRequest.class)))
+    moduleUserUtils
+        .when(
+            () ->
+                
ModuleUserUtils.getOperationUser(isA(HttpServletRequest.class), 
isA(String.class)))
         .thenReturn("testUser")
         .thenReturn("hadoop");
     res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url));
@@ -360,8 +381,10 @@ class DataSourceCoreRestfulApiTest {
         MessageStatus.ERROR() == res.getStatus()
             && res.getMessage().contains("No Exists The DataSource"));
 
-    securityFilter
-        .when(() -> 
SecurityFilter.getLoginUsername(isA(HttpServletRequest.class)))
+    moduleUserUtils
+        .when(
+            () ->
+                
ModuleUserUtils.getOperationUser(isA(HttpServletRequest.class), 
isA(String.class)))
         .thenReturn("testUser")
         .thenReturn("hadoop");
     res = mvcUtils.getMessage(mvcUtils.buildMvcResultPost(url));
@@ -396,8 +419,10 @@ class DataSourceCoreRestfulApiTest {
         MessageStatus.ERROR() == res.getStatus()
             && res.getMessage().contains("No Exists The DataSource"));
 
-    securityFilter
-        .when(() -> 
SecurityFilter.getLoginUsername(isA(HttpServletRequest.class)))
+    moduleUserUtils
+        .when(
+            () ->
+                
ModuleUserUtils.getOperationUser(isA(HttpServletRequest.class), 
isA(String.class)))
         .thenReturn("testUser")
         .thenReturn("hadoop");
     res = mvcUtils.getMessage(mvcUtils.buildMvcResultDelete(url));
@@ -433,8 +458,10 @@ class DataSourceCoreRestfulApiTest {
         MessageStatus.ERROR() == res.getStatus()
             && res.getMessage().contains("No Exists The DataSource"));
 
-    securityFilter
-        .when(() -> 
SecurityFilter.getLoginUsername(isA(HttpServletRequest.class)))
+    moduleUserUtils
+        .when(
+            () ->
+                
ModuleUserUtils.getOperationUser(isA(HttpServletRequest.class), 
isA(String.class)))
         .thenReturn("testUser")
         .thenReturn("hadoop");
     res = mvcUtils.getMessage(mvcUtils.buildMvcResultPut(url));
@@ -470,8 +497,10 @@ class DataSourceCoreRestfulApiTest {
         MessageStatus.ERROR() == res.getStatus()
             && res.getMessage().contains("No Exists The DataSource"));
 
-    securityFilter
-        .when(() -> 
SecurityFilter.getLoginUsername(isA(HttpServletRequest.class)))
+    moduleUserUtils
+        .when(
+            () ->
+                
ModuleUserUtils.getOperationUser(isA(HttpServletRequest.class), 
isA(String.class)))
         .thenReturn("testUser")
         .thenReturn("hadoop");
     res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url));
@@ -499,8 +528,10 @@ class DataSourceCoreRestfulApiTest {
         MessageStatus.ERROR() == res.getStatus()
             && res.getMessage().contains("No Exists The DataSource"));
 
-    securityFilter
-        .when(() -> 
SecurityFilter.getLoginUsername(isA(HttpServletRequest.class)))
+    moduleUserUtils
+        .when(
+            () ->
+                
ModuleUserUtils.getOperationUser(isA(HttpServletRequest.class), 
isA(String.class)))
         .thenReturn("testUser")
         .thenReturn("hadoop");
     res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url));
@@ -525,9 +556,11 @@ class DataSourceCoreRestfulApiTest {
     DataSourceType dataSourceType = new DataSourceType();
     dataSourceType.setName("hive");
     dataSource.setDataSourceType(dataSourceType);
-    securityFilter
-        .when(() -> 
SecurityFilter.getLoginUsername(isA(HttpServletRequest.class)))
-        .thenReturn("testUser", "testUser", "testUser", "hadoop");
+    moduleUserUtils
+        .when(
+            () ->
+                
ModuleUserUtils.getOperationUser(isA(HttpServletRequest.class), 
isA(String.class)))
+        .thenReturn("testUser", "testUser", "hadoop");
     
Mockito.when(dataSourceInfoService.getDataSourceInfoForConnect(dataSourceId, 
version))
         .thenReturn(null)
         .thenReturn(dataSource);
@@ -556,8 +589,10 @@ class DataSourceCoreRestfulApiTest {
     MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
     params.add("currentPage", "10");
     params.add("pageSize", "20");
-    securityFilter
-        .when(() -> 
SecurityFilter.getLoginUsername(isA(HttpServletRequest.class)))
+    moduleUserUtils
+        .when(
+            () ->
+                
ModuleUserUtils.getOperationUser(isA(HttpServletRequest.class), 
isA(String.class)))
         .thenReturn("testUser");
 
     DataSourceVo dataSourceVo = new DataSourceVo();
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/main/java/org/apache/linkis/metadata/query/server/restful/MetadataCoreRestful.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/main/java/org/apache/linkis/metadata/query/server/restful/MetadataCoreRestful.java
index c454918bc..50e667324 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/main/java/org/apache/linkis/metadata/query/server/restful/MetadataCoreRestful.java
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/main/java/org/apache/linkis/metadata/query/server/restful/MetadataCoreRestful.java
@@ -25,10 +25,10 @@ import 
org.apache.linkis.metadata.query.common.exception.MetaMethodInvokeExcepti
 import org.apache.linkis.metadata.query.server.service.MetadataQueryService;
 import org.apache.linkis.metadata.query.server.utils.MetadataUtils;
 import org.apache.linkis.server.Message;
-import org.apache.linkis.server.security.SecurityFilter;
 
 import org.apache.commons.lang3.StringUtils;
 
+import org.apache.linkis.server.utils.ModuleUserUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -62,10 +62,10 @@ public class MetadataCoreRestful {
             if 
(!MetadataUtils.nameRegexPattern.matcher(dataSourceId).matches()) {
                 return Message.error("'dataSourceId' is invalid[数据源错误]");
             }
-
+            String userName = ModuleUserUtils.getOperationUser(request, 
"getDatabases, dataSourceId:" + dataSourceId);
             List<String> databases =
                     metadataAppService.getDatabasesByDsId(
-                            dataSourceId, system, 
SecurityFilter.getLoginUsername(request));
+                            dataSourceId, system, userName);
             return Message.ok().data("dbs", databases);
         } catch (Exception e) {
             return errorToResponseMessage(
@@ -94,12 +94,13 @@ public class MetadataCoreRestful {
             if 
(!MetadataUtils.nameRegexPattern.matcher(dataSourceId).matches()) {
                 return Message.error("'dataSourceId' is invalid[数据源错误]");
             }
+            String userName = ModuleUserUtils.getOperationUser(request, 
"getTables, dataSourceId:" + dataSourceId);
             List<String> tables =
                     metadataAppService.getTablesByDsId(
                             dataSourceId,
                             database,
                             system,
-                            SecurityFilter.getLoginUsername(request));
+                            userName);
             return Message.ok().data("tables", tables);
         } catch (Exception e) {
             return errorToResponseMessage(
@@ -137,14 +138,14 @@ public class MetadataCoreRestful {
             if 
(!MetadataUtils.nameRegexPattern.matcher(dataSourceId).matches()) {
                 return Message.error("'dataSourceId' is invalid[数据源错误]");
             }
-
+            String userName = ModuleUserUtils.getOperationUser(request, 
"getTableProps, dataSourceId:" + dataSourceId);
             Map<String, String> tableProps =
                     metadataAppService.getTablePropsByDsId(
                             dataSourceId,
                             database,
                             table,
                             system,
-                            SecurityFilter.getLoginUsername(request));
+                            userName);
             return Message.ok().data("props", tableProps);
         } catch (Exception e) {
             return errorToResponseMessage(
@@ -187,6 +188,7 @@ public class MetadataCoreRestful {
             if 
(!MetadataUtils.nameRegexPattern.matcher(dataSourceId).matches()) {
                 return Message.error("'dataSourceId' is invalid[数据源错误]");
             }
+            String userName = ModuleUserUtils.getOperationUser(request, 
"getPartitions, dataSourceId:" + dataSourceId);
             MetaPartitionInfo partitionInfo =
                     metadataAppService.getPartitionsByDsId(
                             dataSourceId,
@@ -194,7 +196,7 @@ public class MetadataCoreRestful {
                             table,
                             system,
                             traverse,
-                            SecurityFilter.getLoginUsername(request));
+                            userName);
             return Message.ok().data("props", partitionInfo);
         } catch (Exception e) {
             return errorToResponseMessage(
@@ -238,6 +240,7 @@ public class MetadataCoreRestful {
             if (!MetadataUtils.nameRegexPattern.matcher(partition).matches()) {
                 return Message.error("'partition' is invalid[partition错误]");
             }
+            String userName = ModuleUserUtils.getOperationUser(request, 
"getPartitionProps, dataSourceId:" + dataSourceId);
             Map<String, String> partitionProps =
                     metadataAppService.getPartitionPropsByDsId(
                             dataSourceId,
@@ -245,7 +248,7 @@ public class MetadataCoreRestful {
                             table,
                             partition,
                             system,
-                            SecurityFilter.getLoginUsername(request));
+                            userName);
             return Message.ok().data("props", partitionProps);
         } catch (Exception e) {
             return errorToResponseMessage(
@@ -287,13 +290,15 @@ public class MetadataCoreRestful {
             if 
(!MetadataUtils.nameRegexPattern.matcher(dataSourceId).matches()) {
                 return Message.error("'dataSourceId' is invalid[数据源错误]");
             }
-            List<MetaColumnInfo> columns =
+
+            String userName = ModuleUserUtils.getOperationUser(request, 
"getColumns, dataSourceId:" + dataSourceId);
+                    List<MetaColumnInfo> columns =
                     metadataAppService.getColumnsByDsId(
                             dataSourceId,
                             database,
                             table,
                             system,
-                            SecurityFilter.getLoginUsername(request));
+                            userName);
             return Message.ok().data("columns", columns);
         } catch (Exception e) {
             return errorToResponseMessage(
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/main/java/org/apache/linkis/metadata/query/server/restful/MetadataQueryRestful.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/main/java/org/apache/linkis/metadata/query/server/restful/MetadataQueryRestful.java
index 0699bf346..004cdab3a 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/main/java/org/apache/linkis/metadata/query/server/restful/MetadataQueryRestful.java
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/main/java/org/apache/linkis/metadata/query/server/restful/MetadataQueryRestful.java
@@ -25,10 +25,11 @@ import 
org.apache.linkis.metadata.query.common.exception.MetaMethodInvokeExcepti
 import org.apache.linkis.metadata.query.server.service.MetadataQueryService;
 import org.apache.linkis.metadata.query.server.utils.MetadataUtils;
 import org.apache.linkis.server.Message;
-import org.apache.linkis.server.security.SecurityFilter;
+
 
 import org.apache.commons.lang3.StringUtils;
 
+import org.apache.linkis.server.utils.ModuleUserUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -63,11 +64,12 @@ public class MetadataQueryRestful {
             if (StringUtils.isBlank(system)){
                 return Message.error("'system' is missing[缺少系统名]");
             }
+            String userName=ModuleUserUtils.getOperationUser(request, 
"getConnectionInfo, dataSourceName:" + dataSourceName);
             Map<String, String> queryParams = 
request.getParameterMap().entrySet().stream()
                     .collect(Collectors.toMap(Map.Entry::getKey,
                             entry -> StringUtils.join(entry.getValue(), ",")));
             Map<String, String> info = 
metadataQueryService.getConnectionInfoByDsName(dataSourceName, queryParams,
-                    system, SecurityFilter.getLoginUsername(request));
+                    system, userName);
             return Message.ok().data("info", info);
         } catch (Exception e){
             return errorToResponseMessage(
@@ -97,9 +99,10 @@ public class MetadataQueryRestful {
             if 
(!MetadataUtils.nameRegexPattern.matcher(dataSourceName).matches()) {
                 return Message.error("'dataSourceId' is invalid[数据源错误]");
             }
+            String userName=ModuleUserUtils.getOperationUser(request, 
"getDatabases, dataSourceName:" + dataSourceName);
             List<String> databases =
                     metadataQueryService.getDatabasesByDsName(
-                            dataSourceName, system, 
SecurityFilter.getLoginUsername(request));
+                            dataSourceName, system, userName);
             return Message.ok().data("dbs", databases);
         } catch (Exception e) {
             return errorToResponseMessage(
@@ -134,12 +137,13 @@ public class MetadataQueryRestful {
             if (!MetadataUtils.nameRegexPattern.matcher(database).matches()) {
                 return Message.error("'database' is invalid[数据库名称错误]");
             }
+            String userName=ModuleUserUtils.getOperationUser(request, 
"getTables, dataSourceName:" + dataSourceName);
             List<String> tables =
                     metadataQueryService.getTablesByDsName(
                             dataSourceName,
                             database,
                             system,
-                            SecurityFilter.getLoginUsername(request));
+                            userName);
             return Message.ok().data("tables", tables);
         } catch (Exception e) {
             return errorToResponseMessage(
@@ -182,13 +186,14 @@ public class MetadataQueryRestful {
             if 
(!MetadataUtils.nameRegexPattern.matcher(dataSourceName).matches()) {
                 return Message.error("'dataSourceId' is invalid[数据源错误]");
             }
+            String userName=ModuleUserUtils.getOperationUser(request, 
"getTableProps, dataSourceName:" + dataSourceName);
             Map<String, String> tableProps =
                     metadataQueryService.getTablePropsByDsName(
                             dataSourceName,
                             database,
                             table,
                             system,
-                            SecurityFilter.getLoginUsername(request));
+                            userName);
             return Message.ok().data("props", tableProps);
         } catch (Exception e) {
             return errorToResponseMessage(
@@ -235,6 +240,8 @@ public class MetadataQueryRestful {
             if 
(!MetadataUtils.nameRegexPattern.matcher(dataSourceName).matches()) {
                 return Message.error("'dataSourceId' is invalid[数据源错误]");
             }
+
+            String userName=ModuleUserUtils.getOperationUser(request, 
"getPartitions, dataSourceName:" + dataSourceName);
             MetaPartitionInfo partitionInfo =
                     metadataQueryService.getPartitionsByDsName(
                             dataSourceName,
@@ -242,7 +249,7 @@ public class MetadataQueryRestful {
                             table,
                             system,
                             traverse,
-                            SecurityFilter.getLoginUsername(request));
+                            userName);
             return Message.ok().data("partitions", partitionInfo);
         } catch (Exception e) {
             return errorToResponseMessage(
@@ -292,6 +299,7 @@ public class MetadataQueryRestful {
             if (!MetadataUtils.nameRegexPattern.matcher(partition).matches()) {
                 return Message.error("'partition' is invalid[partition错误]");
             }
+            String userName = ModuleUserUtils.getOperationUser(request, 
"getPartitionProps, dataSourceName:" + dataSourceName);
             Map<String, String> partitionProps =
                     metadataQueryService.getPartitionPropsByDsName(
                             dataSourceName,
@@ -299,7 +307,7 @@ public class MetadataQueryRestful {
                             table,
                             partition,
                             system,
-                            SecurityFilter.getLoginUsername(request));
+                            userName);
             return Message.ok().data("props", partitionProps);
         } catch (Exception e) {
             return errorToResponseMessage(
@@ -346,13 +354,16 @@ public class MetadataQueryRestful {
             if 
(!MetadataUtils.nameRegexPattern.matcher(dataSourceName).matches()) {
                 return Message.error("'dataSourceId' is invalid[数据源错误]");
             }
+
+            String userName=ModuleUserUtils.getOperationUser(request, 
"getColumns, dataSourceName:" + dataSourceName);
+
             List<MetaColumnInfo> columns =
                     metadataQueryService.getColumnsByDsName(
                             dataSourceName,
                             database,
                             table,
                             system,
-                            SecurityFilter.getLoginUsername(request));
+                            userName);
             return Message.ok().data("columns", columns);
         } catch (Exception e) {
             return errorToResponseMessage(
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/test/java/org/apache/linkis/metadata/query/server/restful/MetadataCoreRestfulTest.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/test/java/org/apache/linkis/metadata/query/server/restful/MetadataCoreRestfulTest.java
index c77dd2ac9..8332e39e6 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/test/java/org/apache/linkis/metadata/query/server/restful/MetadataCoreRestfulTest.java
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/test/java/org/apache/linkis/metadata/query/server/restful/MetadataCoreRestfulTest.java
@@ -23,7 +23,7 @@ import 
org.apache.linkis.metadata.query.server.WebApplicationServer;
 import org.apache.linkis.metadata.query.server.service.MetadataQueryService;
 import org.apache.linkis.server.Message;
 import org.apache.linkis.server.MessageStatus;
-import org.apache.linkis.server.security.SecurityFilter;
+import org.apache.linkis.server.utils.ModuleUserUtils;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import 
org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
@@ -34,6 +34,8 @@ import org.springframework.test.web.servlet.MockMvc;
 import org.springframework.util.LinkedMultiValueMap;
 import org.springframework.util.MultiValueMap;
 
+import javax.servlet.http.HttpServletRequest;
+
 import java.util.ArrayList;
 import java.util.HashMap;
 
@@ -45,6 +47,8 @@ import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.MockedStatic;
 import org.mockito.Mockito;
 
+import static org.mockito.ArgumentMatchers.isA;
+
 @ExtendWith({SpringExtension.class})
 @AutoConfigureMockMvc
 @SpringBootTest(classes = {WebApplicationServer.class})
@@ -54,18 +58,18 @@ class MetadataCoreRestfulTest {
 
   @MockBean private MetadataQueryService metadataQueryService;
 
-  private static MockedStatic<SecurityFilter> securityFilter;
-
   private static String system = "linkis";
 
+  private static MockedStatic<ModuleUserUtils> moduleUserUtils;
+
   @BeforeAll
   private static void init() {
-    securityFilter = Mockito.mockStatic(SecurityFilter.class);
+    moduleUserUtils = Mockito.mockStatic(ModuleUserUtils.class);
   }
 
   @AfterAll
   private static void close() {
-    securityFilter.close();
+    moduleUserUtils.close();
   }
 
   @Test
@@ -76,19 +80,27 @@ class MetadataCoreRestfulTest {
       MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
       params.set("system", "");
       MvcUtils mvcUtils = new MvcUtils(mockMvc);
+
+      moduleUserUtils
+          .when(
+              () ->
+                  ModuleUserUtils.getOperationUser(
+                      isA(HttpServletRequest.class), isA(String.class)))
+          .thenReturn("hadoop", "hadoop", "hadoop");
+
       Message res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, 
params));
       Assertions.assertTrue(
           MessageStatus.ERROR() == res.getStatus()
               && res.getMessage().contains("'system' is missing"));
       params.set("system", system);
-      Mockito.when(metadataQueryService.getDatabasesByDsId(dataSourceId, 
system, null))
+      Mockito.when(metadataQueryService.getDatabasesByDsId(dataSourceId, 
system, "hadoop"))
           .thenReturn(new ArrayList<>());
       res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, params));
       Assertions.assertTrue(MessageStatus.SUCCESS() == res.getStatus());
 
       Mockito.doThrow(new ErrorException(1, ""))
           .when(metadataQueryService)
-          .getDatabasesByDsId(dataSourceId, system, null);
+          .getDatabasesByDsId(dataSourceId, system, "hadoop");
       res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, params));
       Assertions.assertTrue(
           MessageStatus.ERROR() == res.getStatus()
@@ -107,20 +119,26 @@ class MetadataCoreRestfulTest {
     MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
     params.set("system", "");
     MvcUtils mvcUtils = new MvcUtils(mockMvc);
+    moduleUserUtils
+        .when(
+            () ->
+                
ModuleUserUtils.getOperationUser(isA(HttpServletRequest.class), 
isA(String.class)))
+        .thenReturn("hadoop", "hadoop", "hadoop");
+
     Message res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, params));
     Assertions.assertTrue(
         MessageStatus.ERROR() == res.getStatus()
             && res.getMessage().contains("'system' is missing"));
 
     params.set("system", system);
-    Mockito.when(metadataQueryService.getTablesByDsId(dataSourceId, database, 
system, null))
+    Mockito.when(metadataQueryService.getTablesByDsId(dataSourceId, database, 
system, "hadoop"))
         .thenReturn(new ArrayList<>());
     res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, params));
     Assertions.assertTrue(MessageStatus.SUCCESS() == res.getStatus());
 
     Mockito.doThrow(new ErrorException(1, ""))
         .when(metadataQueryService)
-        .getTablesByDsId(dataSourceId, database, system, null);
+        .getTablesByDsId(dataSourceId, database, system, "hadoop");
     res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, params));
     Assertions.assertTrue(
         MessageStatus.ERROR() == res.getStatus()
@@ -138,6 +156,14 @@ class MetadataCoreRestfulTest {
       MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
       params.set("system", "");
       MvcUtils mvcUtils = new MvcUtils(mockMvc);
+
+      moduleUserUtils
+          .when(
+              () ->
+                  ModuleUserUtils.getOperationUser(
+                      isA(HttpServletRequest.class), isA(String.class)))
+          .thenReturn("hadoop", "hadoop", "hadoop");
+
       Message res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, 
params));
       Assertions.assertTrue(
           MessageStatus.ERROR() == res.getStatus()
@@ -145,14 +171,15 @@ class MetadataCoreRestfulTest {
 
       params.set("system", system);
       Mockito.when(
-              metadataQueryService.getTablePropsByDsId(dataSourceId, database, 
table, system, null))
+              metadataQueryService.getTablePropsByDsId(
+                  dataSourceId, database, table, system, "hadoop"))
           .thenReturn(new HashMap<>());
       res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, params));
       Assertions.assertTrue(MessageStatus.SUCCESS() == res.getStatus());
 
       Mockito.doThrow(new ErrorException(1, ""))
           .when(metadataQueryService)
-          .getTablePropsByDsId(dataSourceId, database, table, system, null);
+          .getTablePropsByDsId(dataSourceId, database, table, system, 
"hadoop");
       res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, params));
       Assertions.assertTrue(
           MessageStatus.ERROR() == res.getStatus()
@@ -174,6 +201,13 @@ class MetadataCoreRestfulTest {
       MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
       params.set("system", "");
       MvcUtils mvcUtils = new MvcUtils(mockMvc);
+      moduleUserUtils
+          .when(
+              () ->
+                  ModuleUserUtils.getOperationUser(
+                      isA(HttpServletRequest.class), isA(String.class)))
+          .thenReturn("hadoop", "hadoop", "hadoop");
+
       Message res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, 
params));
       Assertions.assertTrue(
           MessageStatus.ERROR() == res.getStatus()
@@ -182,14 +216,14 @@ class MetadataCoreRestfulTest {
       params.set("system", system);
       Mockito.when(
               metadataQueryService.getPartitionsByDsId(
-                  dataSourceId, database, table, system, false, null))
+                  dataSourceId, database, table, system, false, "hadoop"))
           .thenReturn(new MetaPartitionInfo());
       res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, params));
       Assertions.assertTrue(MessageStatus.SUCCESS() == res.getStatus());
 
       Mockito.doThrow(new ErrorException(1, ""))
           .when(metadataQueryService)
-          .getPartitionsByDsId(dataSourceId, database, table, system, false, 
null);
+          .getPartitionsByDsId(dataSourceId, database, table, system, false, 
"hadoop");
       res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, params));
       Assertions.assertTrue(
           MessageStatus.ERROR() == res.getStatus()
@@ -216,6 +250,14 @@ class MetadataCoreRestfulTest {
       MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
       params.set("system", "");
       MvcUtils mvcUtils = new MvcUtils(mockMvc);
+
+      moduleUserUtils
+          .when(
+              () ->
+                  ModuleUserUtils.getOperationUser(
+                      isA(HttpServletRequest.class), isA(String.class)))
+          .thenReturn("hadoop", "hadoop", "hadoop");
+
       Message res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, 
params));
       Assertions.assertTrue(
           MessageStatus.ERROR() == res.getStatus()
@@ -224,14 +266,14 @@ class MetadataCoreRestfulTest {
       params.set("system", system);
       Mockito.when(
               metadataQueryService.getPartitionPropsByDsId(
-                  dataSourceId, database, table, partition, system, null))
+                  dataSourceId, database, table, partition, system, "hadoop"))
           .thenReturn(new HashMap<>());
       res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, params));
       Assertions.assertTrue(MessageStatus.SUCCESS() == res.getStatus());
 
       Mockito.doThrow(new ErrorException(1, ""))
           .when(metadataQueryService)
-          .getPartitionPropsByDsId(dataSourceId, database, table, partition, 
system, null);
+          .getPartitionPropsByDsId(dataSourceId, database, table, partition, 
system, "hadoop");
       res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, params));
       Assertions.assertTrue(
           MessageStatus.ERROR() == res.getStatus()
@@ -253,6 +295,14 @@ class MetadataCoreRestfulTest {
       MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
       params.set("system", "");
       MvcUtils mvcUtils = new MvcUtils(mockMvc);
+
+      moduleUserUtils
+          .when(
+              () ->
+                  ModuleUserUtils.getOperationUser(
+                      isA(HttpServletRequest.class), isA(String.class)))
+          .thenReturn("hadoop", "hadoop", "hadoop");
+
       Message res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, 
params));
       Assertions.assertTrue(
           MessageStatus.ERROR() == res.getStatus()
@@ -260,14 +310,15 @@ class MetadataCoreRestfulTest {
 
       params.set("system", system);
       Mockito.when(
-              metadataQueryService.getColumnsByDsId(dataSourceId, database, 
table, system, null))
+              metadataQueryService.getColumnsByDsId(
+                  dataSourceId, database, table, system, "hadoop"))
           .thenReturn(new ArrayList<>());
       res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, params));
       Assertions.assertTrue(MessageStatus.SUCCESS() == res.getStatus());
 
       Mockito.doThrow(new ErrorException(1, ""))
           .when(metadataQueryService)
-          .getColumnsByDsId(dataSourceId, database, table, system, null);
+          .getColumnsByDsId(dataSourceId, database, table, system, "hadoop");
       res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, params));
       Assertions.assertTrue(
           MessageStatus.ERROR() == res.getStatus()
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/test/java/org/apache/linkis/metadata/query/server/restful/MetadataQueryRestfulTest.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/test/java/org/apache/linkis/metadata/query/server/restful/MetadataQueryRestfulTest.java
index 4b94687f5..56cff3470 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/test/java/org/apache/linkis/metadata/query/server/restful/MetadataQueryRestfulTest.java
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/test/java/org/apache/linkis/metadata/query/server/restful/MetadataQueryRestfulTest.java
@@ -23,7 +23,7 @@ import 
org.apache.linkis.metadata.query.server.WebApplicationServer;
 import org.apache.linkis.metadata.query.server.service.MetadataQueryService;
 import org.apache.linkis.server.Message;
 import org.apache.linkis.server.MessageStatus;
-import org.apache.linkis.server.security.SecurityFilter;
+import org.apache.linkis.server.utils.ModuleUserUtils;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import 
org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
@@ -34,6 +34,8 @@ import org.springframework.test.web.servlet.MockMvc;
 import org.springframework.util.LinkedMultiValueMap;
 import org.springframework.util.MultiValueMap;
 
+import javax.servlet.http.HttpServletRequest;
+
 import java.util.ArrayList;
 import java.util.HashMap;
 
@@ -45,6 +47,8 @@ import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.MockedStatic;
 import org.mockito.Mockito;
 
+import static org.mockito.ArgumentMatchers.isA;
+
 @ExtendWith({SpringExtension.class})
 @AutoConfigureMockMvc
 @SpringBootTest(classes = {WebApplicationServer.class})
@@ -54,16 +58,16 @@ class MetadataQueryRestfulTest {
 
   @MockBean private MetadataQueryService metadataQueryService;
 
-  private static MockedStatic<SecurityFilter> securityFilter;
+  private static MockedStatic<ModuleUserUtils> moduleUserUtils;
 
   @BeforeAll
   private static void init() {
-    securityFilter = Mockito.mockStatic(SecurityFilter.class);
+    moduleUserUtils = Mockito.mockStatic(ModuleUserUtils.class);
   }
 
   @AfterAll
   private static void close() {
-    securityFilter.close();
+    moduleUserUtils.close();
   }
 
   String dataSourceName = "test";
@@ -80,19 +84,25 @@ class MetadataQueryRestfulTest {
       params.set("dataSourceName", dataSourceName);
 
       MvcUtils mvcUtils = new MvcUtils(mockMvc);
+      moduleUserUtils
+          .when(
+              () ->
+                  ModuleUserUtils.getOperationUser(
+                      isA(HttpServletRequest.class), isA(String.class)))
+          .thenReturn("hadoop", "hadoop", "hadoop");
       Message res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, 
params));
       Assertions.assertTrue(
           MessageStatus.ERROR() == res.getStatus()
               && res.getMessage().contains("'system' is missing"));
       params.set("system", system);
-      Mockito.when(metadataQueryService.getDatabasesByDsName(dataSourceName, 
system, null))
+      Mockito.when(metadataQueryService.getDatabasesByDsName(dataSourceName, 
system, "hadoop"))
           .thenReturn(new ArrayList<>());
       res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, params));
       Assertions.assertTrue(MessageStatus.SUCCESS() == res.getStatus());
 
       Mockito.doThrow(new ErrorException(1, ""))
           .when(metadataQueryService)
-          .getDatabasesByDsName(dataSourceName, system, null);
+          .getDatabasesByDsName(dataSourceName, system, "hadoop");
 
       res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, params));
       Assertions.assertTrue(
@@ -113,20 +123,25 @@ class MetadataQueryRestfulTest {
     params.set("dataSourceName", dataSourceName);
     params.set("database", database);
     MvcUtils mvcUtils = new MvcUtils(mockMvc);
+    moduleUserUtils
+        .when(
+            () ->
+                
ModuleUserUtils.getOperationUser(isA(HttpServletRequest.class), 
isA(String.class)))
+        .thenReturn("hadoop", "hadoop", "hadoop");
     Message res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, params));
     Assertions.assertTrue(
         MessageStatus.ERROR() == res.getStatus()
             && res.getMessage().contains("'system' is missing"));
 
     params.set("system", system);
-    Mockito.when(metadataQueryService.getTablesByDsName(dataSourceName, 
database, system, null))
+    Mockito.when(metadataQueryService.getTablesByDsName(dataSourceName, 
database, system, "hadoop"))
         .thenReturn(new ArrayList<>());
     res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, params));
     Assertions.assertTrue(MessageStatus.SUCCESS() == res.getStatus());
 
     Mockito.doThrow(new ErrorException(1, ""))
         .when(metadataQueryService)
-        .getTablesByDsName(dataSourceName, database, system, null);
+        .getTablesByDsName(dataSourceName, database, system, "hadoop");
     res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, params));
     Assertions.assertTrue(
         MessageStatus.ERROR() == res.getStatus()
@@ -145,6 +160,12 @@ class MetadataQueryRestfulTest {
       params.set("system", "");
 
       MvcUtils mvcUtils = new MvcUtils(mockMvc);
+      moduleUserUtils
+          .when(
+              () ->
+                  ModuleUserUtils.getOperationUser(
+                      isA(HttpServletRequest.class), isA(String.class)))
+          .thenReturn("hadoop", "hadoop", "hadoop");
       Message res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, 
params));
       Assertions.assertTrue(
           MessageStatus.ERROR() == res.getStatus()
@@ -153,14 +174,14 @@ class MetadataQueryRestfulTest {
       params.set("system", system);
       Mockito.when(
               metadataQueryService.getTablePropsByDsName(
-                  dataSourceName, database, table, system, null))
+                  dataSourceName, database, table, system, "hadoop"))
           .thenReturn(new HashMap<>());
       res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, params));
       Assertions.assertTrue(MessageStatus.SUCCESS() == res.getStatus());
 
       Mockito.doThrow(new ErrorException(1, ""))
           .when(metadataQueryService)
-          .getTablePropsByDsName(dataSourceName, database, table, system, 
null);
+          .getTablePropsByDsName(dataSourceName, database, table, system, 
"hadoop");
       res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, params));
       Assertions.assertTrue(
           MessageStatus.ERROR() == res.getStatus()
@@ -181,6 +202,12 @@ class MetadataQueryRestfulTest {
       params.set("table", table);
       params.set("system", "");
       MvcUtils mvcUtils = new MvcUtils(mockMvc);
+      moduleUserUtils
+          .when(
+              () ->
+                  ModuleUserUtils.getOperationUser(
+                      isA(HttpServletRequest.class), isA(String.class)))
+          .thenReturn("hadoop", "hadoop", "hadoop");
       Message res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, 
params));
       Assertions.assertTrue(
           MessageStatus.ERROR() == res.getStatus()
@@ -189,14 +216,14 @@ class MetadataQueryRestfulTest {
       params.set("system", system);
       Mockito.when(
               metadataQueryService.getPartitionsByDsName(
-                  dataSourceName, database, table, system, false, null))
+                  dataSourceName, database, table, system, false, "hadoop"))
           .thenReturn(new MetaPartitionInfo());
       res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, params));
       Assertions.assertTrue(MessageStatus.SUCCESS() == res.getStatus());
 
       Mockito.doThrow(new ErrorException(1, ""))
           .when(metadataQueryService)
-          .getPartitionsByDsName(dataSourceName, database, table, system, 
false, null);
+          .getPartitionsByDsName(dataSourceName, database, table, system, 
false, "hadoop");
       res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, params));
       Assertions.assertTrue(
           MessageStatus.ERROR() == res.getStatus()
@@ -220,6 +247,12 @@ class MetadataQueryRestfulTest {
       params.set("partition", partition);
       params.set("system", "");
       MvcUtils mvcUtils = new MvcUtils(mockMvc);
+      moduleUserUtils
+          .when(
+              () ->
+                  ModuleUserUtils.getOperationUser(
+                      isA(HttpServletRequest.class), isA(String.class)))
+          .thenReturn("hadoop", "hadoop", "hadoop");
       Message res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, 
params));
       Assertions.assertTrue(
           MessageStatus.ERROR() == res.getStatus()
@@ -228,14 +261,14 @@ class MetadataQueryRestfulTest {
       params.set("system", system);
       Mockito.when(
               metadataQueryService.getPartitionPropsByDsName(
-                  dataSourceName, database, table, partition, system, null))
+                  dataSourceName, database, table, partition, system, 
"hadoop"))
           .thenReturn(new HashMap<>());
       res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, params));
       Assertions.assertTrue(MessageStatus.SUCCESS() == res.getStatus());
 
       Mockito.doThrow(new ErrorException(1, ""))
           .when(metadataQueryService)
-          .getPartitionPropsByDsName(dataSourceName, database, table, 
partition, system, null);
+          .getPartitionPropsByDsName(dataSourceName, database, table, 
partition, system, "hadoop");
       res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, params));
       Assertions.assertTrue(
           MessageStatus.ERROR() == res.getStatus()
@@ -256,6 +289,12 @@ class MetadataQueryRestfulTest {
       params.set("table", table);
       params.set("system", "");
       MvcUtils mvcUtils = new MvcUtils(mockMvc);
+      moduleUserUtils
+          .when(
+              () ->
+                  ModuleUserUtils.getOperationUser(
+                      isA(HttpServletRequest.class), isA(String.class)))
+          .thenReturn("hadoop", "hadoop", "hadoop");
       Message res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, 
params));
       Assertions.assertTrue(
           MessageStatus.ERROR() == res.getStatus()
@@ -264,14 +303,14 @@ class MetadataQueryRestfulTest {
       params.set("system", system);
       Mockito.when(
               metadataQueryService.getColumnsByDsName(
-                  dataSourceName, database, table, system, null))
+                  dataSourceName, database, table, system, "hadoop"))
           .thenReturn(new ArrayList<>());
       res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, params));
       Assertions.assertTrue(MessageStatus.SUCCESS() == res.getStatus());
 
       Mockito.doThrow(new ErrorException(1, ""))
           .when(metadataQueryService)
-          .getColumnsByDsName(dataSourceName, database, table, system, null);
+          .getColumnsByDsName(dataSourceName, database, table, system, 
"hadoop");
       res = mvcUtils.getMessage(mvcUtils.buildMvcResultGet(url, params));
       Assertions.assertTrue(
           MessageStatus.ERROR() == res.getStatus()


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to