You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@linkis.apache.org by pe...@apache.org on 2022/04/02 06:39:19 UTC

[incubator-linkis] branch dev-1.1.2 updated: add admin auth check for api /configuration/createSecondCategory and /microservice/allInstance (#1869)

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

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


The following commit(s) were added to refs/heads/dev-1.1.2 by this push:
     new e844d1f  add admin auth check for api /configuration/createSecondCategory and /microservice/allInstance (#1869)
e844d1f is described below

commit e844d1fe0908af310faee35fa89423fc2708dddb
Author: legendtkl <ta...@gmail.com>
AuthorDate: Sat Apr 2 14:39:12 2022 +0800

    add admin auth check for api /configuration/createSecondCategory and /microservice/allInstance (#1869)
    
    * add admin auth check for api /configuration/createSecondCategory and /microservice/allInstance
    
    * address review comment
---
 .../restful/api/ConfigurationRestfulApi.java       |  2 ++
 .../instance/label/restful/InstanceRestful.java    | 22 ++++++++++++++++------
 2 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/linkis-public-enhancements/linkis-publicservice/linkis-configuration/src/main/java/org/apache/linkis/configuration/restful/api/ConfigurationRestfulApi.java b/linkis-public-enhancements/linkis-publicservice/linkis-configuration/src/main/java/org/apache/linkis/configuration/restful/api/ConfigurationRestfulApi.java
index 6ca907d..6d21707 100644
--- a/linkis-public-enhancements/linkis-publicservice/linkis-configuration/src/main/java/org/apache/linkis/configuration/restful/api/ConfigurationRestfulApi.java
+++ b/linkis-public-enhancements/linkis-publicservice/linkis-configuration/src/main/java/org/apache/linkis/configuration/restful/api/ConfigurationRestfulApi.java
@@ -138,6 +138,8 @@ public class ConfigurationRestfulApi {
     @RequestMapping(path = "/createSecondCategory", method = RequestMethod.POST)
     public Message createSecondCategory(HttpServletRequest request, @RequestBody JsonNode jsonNode)
             throws ConfigurationException {
+        String username = ModuleUserUtils.getOperationUser(request, "createSecondCategory");
+        checkAdmin(username);
         Integer categoryId = jsonNode.get("categoryId").asInt();
         String engineType = jsonNode.get("engineType").asText();
         String version = jsonNode.get("version").asText();
diff --git a/linkis-public-enhancements/linkis-publicservice/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/restful/InstanceRestful.java b/linkis-public-enhancements/linkis-publicservice/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/restful/InstanceRestful.java
index 2a42def..901bbd8 100644
--- a/linkis-public-enhancements/linkis-publicservice/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/restful/InstanceRestful.java
+++ b/linkis-public-enhancements/linkis-publicservice/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/restful/InstanceRestful.java
@@ -18,8 +18,8 @@
 package org.apache.linkis.instance.label.restful;
 
 import org.apache.linkis.common.ServiceInstance;
+import org.apache.linkis.common.conf.Configuration;
 import org.apache.linkis.instance.label.entity.InstanceInfo;
-import org.apache.linkis.instance.label.service.conf.InstanceConfigration;
 import org.apache.linkis.instance.label.service.impl.DefaultInsLabelService;
 import org.apache.linkis.instance.label.utils.EntityParser;
 import org.apache.linkis.instance.label.vo.InstanceInfoVo;
@@ -59,7 +59,15 @@ public class InstanceRestful {
     @Autowired private DefaultInsLabelService insLabelService;
 
     @RequestMapping(path = "/allInstance", method = RequestMethod.GET)
-    public Message listAllInstanceWithLabel(HttpServletRequest req) {
+    public Message listAllInstanceWithLabel(HttpServletRequest req) throws Exception {
+        String userName = ModuleUserUtils.getOperationUser(req);
+        if (!Configuration.isAdmin(userName)) {
+            throw new Exception(
+                    String.format(
+                            "Only admin can view all instances(只有管理员才能查看所有实例). The user [%s] is not admin.",
+                            userName));
+        }
+
         logger.info("start to get all instance informations.....");
         List<InstanceInfo> instances = insLabelService.listAllInstanceWithLabel();
         insLabelService.markInstanceLabel(instances);
@@ -71,10 +79,12 @@ public class InstanceRestful {
     @RequestMapping(path = "/instanceLabel", method = RequestMethod.PUT)
     public Message upDateInstanceLabel(HttpServletRequest req, @RequestBody JsonNode jsonNode)
             throws Exception {
-        String username = ModuleUserUtils.getOperationUser(req);
-        String[] adminArray = InstanceConfigration.GOVERNANCE_STATION_ADMIN().getValue().split(",");
-        if (adminArray != null && !Arrays.asList(adminArray).contains(username)) {
-            throw new Exception("only admin can modify instance label(只有管理员才能修改标签)");
+        String userName = ModuleUserUtils.getOperationUser(req);
+        if (!Configuration.isAdmin(userName)) {
+            throw new Exception(
+                    String.format(
+                            "Only admin can modify instance label(只有管理员才能修改标签). The user [%s] is not admin",
+                            userName));
         }
         String instanceName = jsonNode.get("instance").asText();
         String instanceType = jsonNode.get("applicationName").asText();

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@linkis.apache.org
For additional commands, e-mail: commits-help@linkis.apache.org