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 80196647e [Bug] Add isNotAdmin method (#3963)
80196647e is described below

commit 80196647e6afd871d48d2de773d0e0ee55ebfcae
Author: GuoPhilipse <[email protected]>
AuthorDate: Mon Dec 5 15:46:32 2022 +0800

    [Bug] Add isNotAdmin method (#3963)
---
 .../org/apache/linkis/common/conf/Configuration.scala      |  4 ++++
 .../linkis/entrance/restful/EntranceLabelRestfulApi.java   |  2 +-
 .../linkis/entrance/restful/EntranceMetricRestfulApi.java  |  2 +-
 .../org/apache/linkis/manager/am/restful/EMRestfulApi.java |  6 +++---
 .../apache/linkis/manager/am/restful/EngineRestfulApi.java | 14 +++++++++-----
 .../apache/linkis/manager/am/conf/AMConfiguration.scala    |  4 ++++
 .../configuration/restful/api/ConfigurationRestfulApi.java |  2 +-
 .../linkis/cs/server/restful/ContextIDRestfulApi.java      |  2 +-
 .../apache/linkis/cs/server/restful/ContextRestfulApi.java |  2 +-
 .../core/restful/DataSourceAdminRestfulApi.java            | 10 +++++-----
 .../datasourcemanager/core/restful/RestfulApiHelper.java   | 12 +++++++++++-
 .../linkis/instance/label/restful/InstanceRestful.java     |  4 ++--
 12 files changed, 43 insertions(+), 21 deletions(-)

diff --git 
a/linkis-commons/linkis-common/src/main/scala/org/apache/linkis/common/conf/Configuration.scala
 
b/linkis-commons/linkis-common/src/main/scala/org/apache/linkis/common/conf/Configuration.scala
index bc51ab5fb..bb7a8611a 100644
--- 
a/linkis-commons/linkis-common/src/main/scala/org/apache/linkis/common/conf/Configuration.scala
+++ 
b/linkis-commons/linkis-common/src/main/scala/org/apache/linkis/common/conf/Configuration.scala
@@ -64,6 +64,10 @@ object Configuration extends Logging {
     adminUsers.exists(username.equalsIgnoreCase)
   }
 
+  def isNotAdmin(username: String): Boolean = {
+    !isAdmin(username)
+  }
+
   def getGateWayURL(): String = {
     val url = GATEWAY_URL.getValue.trim
     val gatewayUr = if (url.endsWith("/")) {
diff --git 
a/linkis-computation-governance/linkis-entrance/src/main/java/org/apache/linkis/entrance/restful/EntranceLabelRestfulApi.java
 
b/linkis-computation-governance/linkis-entrance/src/main/java/org/apache/linkis/entrance/restful/EntranceLabelRestfulApi.java
index 6d35a91d5..fc08fb1d9 100644
--- 
a/linkis-computation-governance/linkis-entrance/src/main/java/org/apache/linkis/entrance/restful/EntranceLabelRestfulApi.java
+++ 
b/linkis-computation-governance/linkis-entrance/src/main/java/org/apache/linkis/entrance/restful/EntranceLabelRestfulApi.java
@@ -51,7 +51,7 @@ public class EntranceLabelRestfulApi {
   @RequestMapping(path = "/update", method = RequestMethod.POST)
   public Message updateRouteLabel(HttpServletRequest req, @RequestBody 
JsonNode jsonNode) {
     String userName = ModuleUserUtils.getOperationUser(req, 
"updateRouteLabel");
-    if (!Configuration.isAdmin(userName)) {
+    if (Configuration.isNotAdmin(userName)) {
       return Message.error("Non-administrators cannot update Route Label");
     }
     String routeLabel = jsonNode.get("routeLabel").textValue();
diff --git 
a/linkis-computation-governance/linkis-entrance/src/main/java/org/apache/linkis/entrance/restful/EntranceMetricRestfulApi.java
 
b/linkis-computation-governance/linkis-entrance/src/main/java/org/apache/linkis/entrance/restful/EntranceMetricRestfulApi.java
index a09f55f23..18973e6e2 100644
--- 
a/linkis-computation-governance/linkis-entrance/src/main/java/org/apache/linkis/entrance/restful/EntranceMetricRestfulApi.java
+++ 
b/linkis-computation-governance/linkis-entrance/src/main/java/org/apache/linkis/entrance/restful/EntranceMetricRestfulApi.java
@@ -70,7 +70,7 @@ public class EntranceMetricRestfulApi {
       @RequestParam(value = "engineTypeLabel", required = false) String 
engineTypeLabelValue) {
     String userName = ModuleUserUtils.getOperationUser(req, "taskinfo");
     String queryUser = user;
-    if (!Configuration.isAdmin(userName)) {
+    if (Configuration.isNotAdmin(userName)) {
       if (StringUtils.isBlank(queryUser)) {
         queryUser = userName;
       } else if (!userName.equalsIgnoreCase(queryUser)) {
diff --git 
a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/restful/EMRestfulApi.java
 
b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/restful/EMRestfulApi.java
index f6a9b6cad..9cd037ccd 100644
--- 
a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/restful/EMRestfulApi.java
+++ 
b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/restful/EMRestfulApi.java
@@ -96,7 +96,7 @@ public class EMRestfulApi {
   private String[] adminOperations = 
AMConfiguration.ECM_ADMIN_OPERATIONS().getValue().split(",");
 
   private void checkAdmin(String userName) throws AMErrorException {
-    if (!AMConfiguration.isAdmin(userName)) {
+    if (AMConfiguration.isNotAdmin(userName)) {
       throw new AMErrorException(210003, "Only admin can modify 
ECMs(只有管理员才能修改ECM).");
     }
   }
@@ -271,7 +271,7 @@ public class EMRestfulApi {
               + ExceptionUtils.getRootCauseMessage(e));
     }
     parameters.put(ECMOperateRequest.ENGINE_CONN_INSTANCE_KEY(), 
serviceInstance.getInstance());
-    if (!userName.equals(engineNode.getOwner()) && 
!AMConfiguration.isAdmin(userName)) {
+    if (!userName.equals(engineNode.getOwner()) && 
AMConfiguration.isNotAdmin(userName)) {
       return Message.error(
           "You have no permission to execute ECM Operation by this EngineConn 
" + serviceInstance);
     }
@@ -371,7 +371,7 @@ public class EMRestfulApi {
   private Message executeECMOperation(EMNode ecmNode, ECMOperateRequest 
ecmOperateRequest) {
     String operationName = 
OperateRequest$.MODULE$.getOperationName(ecmOperateRequest.parameters());
     if (ArrayUtils.contains(adminOperations, operationName)
-        && !AMConfiguration.isAdmin(ecmOperateRequest.user())) {
+        && AMConfiguration.isNotAdmin(ecmOperateRequest.user())) {
       logger.warn(
           "User {} has no permission to execute {} admin Operation in ECM {}.",
           ecmOperateRequest.user(),
diff --git 
a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/restful/EngineRestfulApi.java
 
b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/restful/EngineRestfulApi.java
index 77d2e9084..609c67a93 100644
--- 
a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/restful/EngineRestfulApi.java
+++ 
b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/restful/EngineRestfulApi.java
@@ -188,7 +188,7 @@ public class EngineRestfulApi {
       }
       engineNode = ECResourceInfoUtils.convertECInfoTOECNode(ecInfo);
     }
-    if (!userName.equals(engineNode.getOwner()) && !isAdmin(userName)) {
+    if (!userName.equals(engineNode.getOwner()) && isNotAdmin(userName)) {
       return Message.error("You have no permission to access EngineConn " + 
serviceInstance);
     }
     return Message.ok().data("engine", engineNode);
@@ -204,7 +204,7 @@ public class EngineRestfulApi {
     String userName = ModuleUserUtils.getOperationUser(req, "killEngineConn:" 
+ serviceInstance);
     logger.info("User {} try to kill engineConn {}.", userName, 
serviceInstance);
     EngineNode engineNode = engineNodeManager.getEngineNode(serviceInstance);
-    if (!userName.equals(engineNode.getOwner()) && !isAdmin(userName)) {
+    if (!userName.equals(engineNode.getOwner()) && isNotAdmin(userName)) {
       return Message.error("You have no permission to kill EngineConn " + 
serviceInstance);
     }
     EngineStopRequest stopEngineRequest = new 
EngineStopRequest(serviceInstance, userName);
@@ -278,7 +278,7 @@ public class EngineRestfulApi {
   public Message listEMEngines(HttpServletRequest req, @RequestBody JsonNode 
jsonNode)
       throws IOException, AMErrorException {
     String username = ModuleUserUtils.getOperationUser(req, "listEMEngines");
-    if (!isAdmin(username)) {
+    if (isNotAdmin(username)) {
       throw new AMErrorException(
           210003, "Only admin can search engine 
information(只有管理员才能查询所有引擎信息).");
     }
@@ -347,7 +347,7 @@ public class EngineRestfulApi {
   public Message modifyEngineInfo(HttpServletRequest req, @RequestBody 
JsonNode jsonNode)
       throws AMErrorException, LabelErrorException {
     String username = ModuleUserUtils.getOperationUser(req, 
"modifyEngineInfo");
-    if (!isAdmin(username)) {
+    if (isNotAdmin(username)) {
       throw new AMErrorException(
           210003, "Only admin can modify engineConn 
information(只有管理员才能修改引擎信息).");
     }
@@ -401,7 +401,7 @@ public class EngineRestfulApi {
     ServiceInstance serviceInstance = getServiceInstance(jsonNode);
     logger.info("User {} try to execute Engine Operation {}.", userName, 
serviceInstance);
     EngineNode engineNode = engineNodeManager.getEngineNode(serviceInstance);
-    if (!userName.equals(engineNode.getOwner()) && !isAdmin(userName)) {
+    if (!userName.equals(engineNode.getOwner()) && isNotAdmin(userName)) {
       return Message.error("You have no permission to execute Engine Operation 
" + serviceInstance);
     }
     Map<String, Object> parameters =
@@ -421,6 +421,10 @@ public class EngineRestfulApi {
     return AMConfiguration.isAdmin(user);
   }
 
+  private boolean isNotAdmin(String user) {
+    return !isAdmin(user);
+  }
+
   static ServiceInstance getServiceInstance(JsonNode jsonNode) throws 
AMErrorException {
     String applicationName = jsonNode.get("applicationName").asText();
     String instance = jsonNode.get("instance").asText();
diff --git 
a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/scala/org/apache/linkis/manager/am/conf/AMConfiguration.scala
 
b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/scala/org/apache/linkis/manager/am/conf/AMConfiguration.scala
index c7384e959..81a7ea75c 100644
--- 
a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/scala/org/apache/linkis/manager/am/conf/AMConfiguration.scala
+++ 
b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/scala/org/apache/linkis/manager/am/conf/AMConfiguration.scala
@@ -98,4 +98,8 @@ object AMConfiguration {
     GOVERNANCE_STATION_ADMIN.getValue.split(",").contains(userName)
   }
 
+  def isNotAdmin(userName: String): Boolean = {
+    !isAdmin(userName)
+  }
+
 }
diff --git 
a/linkis-public-enhancements/linkis-configuration/src/main/java/org/apache/linkis/configuration/restful/api/ConfigurationRestfulApi.java
 
b/linkis-public-enhancements/linkis-configuration/src/main/java/org/apache/linkis/configuration/restful/api/ConfigurationRestfulApi.java
index f1ac09fba..3adbe89ea 100644
--- 
a/linkis-public-enhancements/linkis-configuration/src/main/java/org/apache/linkis/configuration/restful/api/ConfigurationRestfulApi.java
+++ 
b/linkis-public-enhancements/linkis-configuration/src/main/java/org/apache/linkis/configuration/restful/api/ConfigurationRestfulApi.java
@@ -328,7 +328,7 @@ public class ConfigurationRestfulApi {
   }
 
   private void checkAdmin(String userName) throws ConfigurationException {
-    if (!Configuration.isAdmin(userName)) {
+    if (Configuration.isNotAdmin(userName)) {
       throw new ConfigurationException(ONLY_ADMIN_CAN_MODIFY.getErrorDesc());
     }
   }
diff --git 
a/linkis-public-enhancements/linkis-context-service/linkis-cs-server/src/main/java/org/apache/linkis/cs/server/restful/ContextIDRestfulApi.java
 
b/linkis-public-enhancements/linkis-context-service/linkis-cs-server/src/main/java/org/apache/linkis/cs/server/restful/ContextIDRestfulApi.java
index 64fb4979a..90d543292 100644
--- 
a/linkis-public-enhancements/linkis-context-service/linkis-cs-server/src/main/java/org/apache/linkis/cs/server/restful/ContextIDRestfulApi.java
+++ 
b/linkis-public-enhancements/linkis-context-service/linkis-cs-server/src/main/java/org/apache/linkis/cs/server/restful/ContextIDRestfulApi.java
@@ -159,7 +159,7 @@ public class ContextIDRestfulApi implements CsRestfulParent 
{
       @RequestParam(value = "pageSize", required = false) Integer 
paramPageSize)
       throws InterruptedException, CSErrorException, IOException, 
ClassNotFoundException {
     String username = ModuleUserUtils.getOperationUser(req);
-    if (!Configuration.isAdmin(username)) {
+    if (Configuration.isNotAdmin(username)) {
       throw new CSErrorException(97018, "Only station admins are allowed.");
     }
     logger.info(
diff --git 
a/linkis-public-enhancements/linkis-context-service/linkis-cs-server/src/main/java/org/apache/linkis/cs/server/restful/ContextRestfulApi.java
 
b/linkis-public-enhancements/linkis-context-service/linkis-cs-server/src/main/java/org/apache/linkis/cs/server/restful/ContextRestfulApi.java
index 9399e5592..1b6df7593 100644
--- 
a/linkis-public-enhancements/linkis-context-service/linkis-cs-server/src/main/java/org/apache/linkis/cs/server/restful/ContextRestfulApi.java
+++ 
b/linkis-public-enhancements/linkis-context-service/linkis-cs-server/src/main/java/org/apache/linkis/cs/server/restful/ContextRestfulApi.java
@@ -271,7 +271,7 @@ public class ContextRestfulApi implements CsRestfulParent {
       HttpServletRequest req, @RequestBody Map<String, Object> bodyMap)
       throws InterruptedException, CSErrorException, IOException, 
ClassNotFoundException {
     String username = ModuleUserUtils.getOperationUser(req);
-    if (!Configuration.isAdmin(username)) {
+    if (Configuration.isNotAdmin(username)) {
       throw new CSErrorException(97018, "Only station admins are allowed.");
     }
     if (null == bodyMap || bodyMap.isEmpty()) {
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceAdminRestfulApi.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceAdminRestfulApi.java
index 5c2f7b273..0efcc74e8 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceAdminRestfulApi.java
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceAdminRestfulApi.java
@@ -78,7 +78,7 @@ public class DataSourceAdminRestfulApi {
     return RestfulApiHelper.doAndResponse(
         () -> {
           String userName = ModuleUserUtils.getOperationUser(req, 
"insertJsonEnv");
-          if (!RestfulApiHelper.isAdminUser(userName)) {
+          if (RestfulApiHelper.isNotAdminUser(userName)) {
             return Message.error("User '" + userName + "' is not admin 
user[非管理员用户]");
           }
           // Bean validation
@@ -114,7 +114,7 @@ public class DataSourceAdminRestfulApi {
       HttpServletRequest req)
       throws ErrorException {
     String userName = ModuleUserUtils.getOperationUser(req, 
"insertJsonEnvBatch");
-    if (!RestfulApiHelper.isAdminUser(userName) && 
!permitSystemList.contains(system)) {
+    if (RestfulApiHelper.isNotAdminUser(userName) && 
!permitSystemList.contains(system)) {
       return Message.error("User '" + userName + "' is not admin 
user[非管理员用户]");
     }
     for (DataSourceEnv dataSourceEnv : dataSourceEnvList) {
@@ -160,7 +160,7 @@ public class DataSourceAdminRestfulApi {
       HttpServletRequest request)
       throws ErrorException {
     String userName = ModuleUserUtils.getOperationUser(request, 
"updateJsonEnvBatch");
-    if (!RestfulApiHelper.isAdminUser(userName) && 
!permitSystemList.contains(system)) {
+    if (RestfulApiHelper.isNotAdminUser(userName) && 
!permitSystemList.contains(system)) {
       return Message.error("User '" + userName + "' is not admin 
user[非管理员用户]");
     }
     for (DataSourceEnv dataSourceEnv : dataSourceEnvList) {
@@ -254,7 +254,7 @@ public class DataSourceAdminRestfulApi {
     return RestfulApiHelper.doAndResponse(
         () -> {
           String userName = ModuleUserUtils.getOperationUser(request, 
"removeEnvEntity");
-          if (!RestfulApiHelper.isAdminUser(userName)) {
+          if (RestfulApiHelper.isNotAdminUser(userName)) {
             return Message.error("User '" + userName + "' is not admin 
user[非管理员用户]");
           }
           Long removeId = dataSourceInfoService.removeDataSourceEnv(envId);
@@ -281,7 +281,7 @@ public class DataSourceAdminRestfulApi {
     return RestfulApiHelper.doAndResponse(
         () -> {
           String userName = ModuleUserUtils.getOperationUser(request, 
"updateJsonEnv");
-          if (!RestfulApiHelper.isAdminUser(userName)) {
+          if (RestfulApiHelper.isNotAdminUser(userName)) {
             return Message.error("User '" + userName + "' is not admin 
user[非管理员用户]");
           }
           // Bean validation
diff --git 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/RestfulApiHelper.java
 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/RestfulApiHelper.java
index 099373e46..8a539faa5 100644
--- 
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/RestfulApiHelper.java
+++ 
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/RestfulApiHelper.java
@@ -37,13 +37,23 @@ public class RestfulApiHelper {
    * If is administrator
    *
    * @param userName user name
-   * @return
+   * @return whether userName is an admin user
    */
   public static boolean isAdminUser(String userName) {
     List<String> userList = 
Arrays.asList(AuthContext.AUTH_ADMINISTRATOR.getValue().split(","));
     return userList.contains(userName);
   }
 
+  /**
+   * If is not administrator
+   *
+   * @param userName user name
+   * @return whether userName is not an admin user
+   */
+  public static boolean isNotAdminUser(String userName) {
+    return !isAdminUser(userName);
+  }
+
   /**
    * Encrypt key of password type
    *
diff --git 
a/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/restful/InstanceRestful.java
 
b/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/restful/InstanceRestful.java
index a46ffc5ee..d47272398 100644
--- 
a/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/restful/InstanceRestful.java
+++ 
b/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/restful/InstanceRestful.java
@@ -74,7 +74,7 @@ public class InstanceRestful {
   @RequestMapping(path = "/allInstance", method = RequestMethod.GET)
   public Message listAllInstanceWithLabel(HttpServletRequest req) throws 
Exception {
     String userName = ModuleUserUtils.getOperationUser(req);
-    if (!Configuration.isAdmin(userName)) {
+    if (Configuration.isNotAdmin(userName)) {
       throw new InstanceErrorException(
           String.format(
               ONLY_ADMIN_CAN_VIEW.getErrorDesc() + "The user [%s] is not 
admin.", userName));
@@ -104,7 +104,7 @@ public class InstanceRestful {
   public Message upDateInstanceLabel(HttpServletRequest req, @RequestBody 
JsonNode jsonNode)
       throws Exception {
     String userName = ModuleUserUtils.getOperationUser(req);
-    if (!Configuration.isAdmin(userName)) {
+    if (Configuration.isNotAdmin(userName)) {
       throw new InstanceErrorException(
           String.format(
               ONLY_ADMIN_CAN_MODIFY.getErrorDesc() + " The user [%s] is not 
admin", userName));


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

Reply via email to