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

shuwenwei pushed a commit to branch authRefactor
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/authRefactor by this push:
     new cc0a0c02eb3 remove checkPermissionBeforeProcess
cc0a0c02eb3 is described below

commit cc0a0c02eb3c2e8ef1286a073a44511dddda7ddb
Author: shuwenwei <[email protected]>
AuthorDate: Mon Sep 15 11:17:40 2025 +0800

    remove checkPermissionBeforeProcess
---
 .../security/TreeAccessCheckVisitor.java           | 280 +++++++++++++++++----
 .../db/queryengine/plan/statement/Statement.java   |   2 -
 .../plan/statement/crud/LoadTsFileStatement.java   |   8 -
 .../plan/statement/crud/QueryStatement.java        |  18 --
 .../InternalBatchActivateTemplateStatement.java    |  17 --
 .../InternalCreateMultiTimeSeriesStatement.java    |  17 --
 .../InternalCreateTimeSeriesStatement.java         |  17 --
 .../statement/metadata/RemoveAINodeStatement.java  |   7 -
 .../metadata/RemoveConfigNodeStatement.java        |   7 -
 .../metadata/RemoveDataNodeStatement.java          |   7 -
 .../plan/statement/metadata/SetTTLStatement.java   |  17 --
 .../statement/metadata/ShowClusterIdStatement.java |   7 -
 .../statement/metadata/ShowClusterStatement.java   |   7 -
 .../metadata/ShowConfigNodesStatement.java         |   7 -
 .../metadata/ShowContinuousQueriesStatement.java   |  14 --
 .../statement/metadata/ShowDataNodesStatement.java |   7 -
 .../statement/metadata/ShowFunctionsStatement.java |  14 --
 .../statement/metadata/ShowRegionStatement.java    |   7 -
 .../statement/metadata/ShowTriggersStatement.java  |  14 --
 .../statement/metadata/ShowVariablesStatement.java |   7 -
 .../metadata/model/ShowAINodesStatement.java       |   7 -
 .../metadata/model/ShowModelsStatement.java        |  14 --
 .../metadata/pipe/ShowPipePluginsStatement.java    |  14 --
 .../metadata/pipe/ShowPipesStatement.java          |  14 --
 .../metadata/pipe/StartPipeStatement.java          |  14 --
 .../statement/metadata/pipe/StopPipeStatement.java |  14 --
 .../metadata/region/MigrateRegionStatement.java    |   7 -
 .../region/ReconstructRegionStatement.java         |   7 -
 .../metadata/region/RemoveRegionStatement.java     |   7 -
 .../subscription/ShowSubscriptionsStatement.java   |  14 --
 .../metadata/subscription/ShowTopicsStatement.java |  14 --
 .../ShowNodesInSchemaTemplateStatement.java        |   9 -
 .../template/ShowPathSetTemplateStatement.java     |   9 -
 .../template/ShowSchemaTemplateStatement.java      |   9 -
 .../metadata/view/RenameLogicalViewStatement.java  |  19 --
 .../plan/statement/sys/KillQueryStatement.java     |   7 -
 .../plan/statement/sys/SetSqlDialectStatement.java |   8 -
 .../sys/ShowCurrentSqlDialectStatement.java        |   8 -
 .../statement/sys/ShowCurrentUserStatement.java    |   8 -
 .../plan/statement/sys/ShowQueriesStatement.java   |   7 -
 .../plan/statement/sys/ShowVersionStatement.java   |   8 -
 .../statement/sys/TestConnectionStatement.java     |   7 -
 42 files changed, 234 insertions(+), 472 deletions(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/security/TreeAccessCheckVisitor.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/security/TreeAccessCheckVisitor.java
index 9f3e0aea186..088bc70f9b4 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/security/TreeAccessCheckVisitor.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/security/TreeAccessCheckVisitor.java
@@ -22,6 +22,7 @@ package 
org.apache.iotdb.db.queryengine.plan.relational.security;
 import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.commons.auth.AuthException;
 import org.apache.iotdb.commons.auth.entity.PrivilegeType;
+import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.commons.path.PathPatternTreeUtils;
 import org.apache.iotdb.db.auth.AuthorityChecker;
 import 
org.apache.iotdb.db.queryengine.plan.statement.AuthorityInformationStatement;
@@ -112,6 +113,12 @@ import 
org.apache.iotdb.db.queryengine.plan.statement.sys.ShowVersionStatement;
 import 
org.apache.iotdb.db.queryengine.plan.statement.sys.TestConnectionStatement;
 import org.apache.iotdb.rpc.TSStatusCode;
 
+import com.google.common.collect.ImmutableList;
+
+import java.util.List;
+
+import static org.apache.iotdb.db.auth.AuthorityChecker.SUCCEED;
+
 public class TreeAccessCheckVisitor extends StatementVisitor<TSStatus, 
TreeAccessCheckContext> {
 
   @Override
@@ -328,94 +335,192 @@ public class TreeAccessCheckVisitor extends 
StatementVisitor<TSStatus, TreeAcces
   @Override
   public TSStatus visitInsert(InsertStatement statement, 
TreeAccessCheckContext context) {}
 
-  // -------- sww -----
   @Override
   public TSStatus visitInternalBatchActivateTemplate(
-      InternalBatchActivateTemplateStatement statement, TreeAccessCheckContext 
context) {}
+      InternalBatchActivateTemplateStatement statement, TreeAccessCheckContext 
context) {
+    if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+      return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+    }
+    List<PartialPath> checkedPaths = statement.getPaths();
+    return AuthorityChecker.getTSStatus(
+        AuthorityChecker.checkFullPathOrPatternListPermission(
+            context.userName, checkedPaths, PrivilegeType.WRITE_SCHEMA),
+        checkedPaths,
+        PrivilegeType.WRITE_SCHEMA);
+  }
 
   @Override
   public TSStatus visitInternalCreateMultiTimeSeries(
-      InternalCreateMultiTimeSeriesStatement statement, TreeAccessCheckContext 
context) {}
+      InternalCreateMultiTimeSeriesStatement statement, TreeAccessCheckContext 
context) {
+    if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+      return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+    }
+    List<PartialPath> checkedPaths = statement.getPaths();
+    return AuthorityChecker.getTSStatus(
+        AuthorityChecker.checkFullPathOrPatternListPermission(
+            context.userName, checkedPaths, PrivilegeType.WRITE_SCHEMA),
+        checkedPaths,
+        PrivilegeType.WRITE_SCHEMA);
+  }
 
   @Override
-  public TSStatus visitInternalCreateTimeSeries(
-      InternalCreateTimeSeriesStatement statement, TreeAccessCheckContext 
context) {}
+  public TSStatus visitInternalCreateTimeseries(
+      InternalCreateTimeSeriesStatement statement, TreeAccessCheckContext 
context) {
+    if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+      return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+    }
+    List<PartialPath> checkedPaths = statement.getPaths();
+    return AuthorityChecker.getTSStatus(
+        AuthorityChecker.checkFullPathOrPatternListPermission(
+            context.userName, checkedPaths, PrivilegeType.WRITE_SCHEMA),
+        checkedPaths,
+        PrivilegeType.WRITE_SCHEMA);
+  }
 
   @Override
-  public TSStatus visitKillQuery(KillQueryStatement statement, 
TreeAccessCheckContext context) {}
+  public TSStatus visitKillQuery(KillQueryStatement statement, 
TreeAccessCheckContext context) {
+    return AuthorityChecker.checkSuperUserOrMaintain(context.userName);
+  }
 
   @Override
-  public TSStatus visitLoadTsFile(LoadTsFileStatement statement, 
TreeAccessCheckContext context) {}
+  public TSStatus visitLoadFile(LoadTsFileStatement statement, 
TreeAccessCheckContext context) {
+    // no need to check here, it will be checked in process phase
+    return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+  }
 
   @Override
   public TSStatus visitMigrateRegion(
-      MigrateRegionStatement statement, TreeAccessCheckContext context) {}
+      MigrateRegionStatement statement, TreeAccessCheckContext context) {
+    return AuthorityChecker.checkSuperUserOrMaintain(context.userName);
+  }
 
   @Override
-  public TSStatus visitQuery(QueryStatement statement, TreeAccessCheckContext 
context) {}
+  public TSStatus visitQuery(QueryStatement statement, TreeAccessCheckContext 
context) {
+    try {
+      if (!AuthorityChecker.SUPER_USER.equals(context.userName)) {
+        statement.setAuthorityScope(
+            AuthorityChecker.getAuthorizedPathTree(context.userName, 
PrivilegeType.READ_DATA));
+      }
+    } catch (AuthException e) {
+      return new TSStatus(e.getCode().getStatusCode());
+    }
+    return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+  }
 
   @Override
   public TSStatus visitReconstructRegion(
-      ReconstructRegionStatement statement, TreeAccessCheckContext context) {}
+      ReconstructRegionStatement statement, TreeAccessCheckContext context) {
+    return AuthorityChecker.checkSuperUserOrMaintain(context.userName);
+  }
 
   @Override
   public TSStatus visitRemoveAINode(
-      RemoveAINodeStatement statement, TreeAccessCheckContext context) {}
+      RemoveAINodeStatement statement, TreeAccessCheckContext context) {
+    return AuthorityChecker.checkSuperUserOrMaintain(context.userName);
+  }
 
   @Override
   public TSStatus visitRemoveConfigNode(
-      RemoveConfigNodeStatement statement, TreeAccessCheckContext context) {}
+      RemoveConfigNodeStatement statement, TreeAccessCheckContext context) {
+    return AuthorityChecker.checkSuperUserOrMaintain(context.userName);
+  }
 
   @Override
   public TSStatus visitRemoveDataNode(
-      RemoveDataNodeStatement statement, TreeAccessCheckContext context) {}
+      RemoveDataNodeStatement statement, TreeAccessCheckContext context) {
+    return AuthorityChecker.checkSuperUserOrMaintain(context.userName);
+  }
 
   @Override
   public TSStatus visitRemoveRegion(
-      RemoveRegionStatement statement, TreeAccessCheckContext context) {}
+      RemoveRegionStatement statement, TreeAccessCheckContext context) {
+    return AuthorityChecker.checkSuperUserOrMaintain(context.userName);
+  }
 
   @Override
   public TSStatus visitRenameLogicalView(
-      RenameLogicalViewStatement statement, TreeAccessCheckContext context) {}
+      RenameLogicalViewStatement statement, TreeAccessCheckContext context) {
+    if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+      return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+    }
+    List<PartialPath> checkedPaths =
+        ImmutableList.of(statement.getOldName(), statement.getNewName());
+    return AuthorityChecker.getTSStatus(
+        AuthorityChecker.checkFullPathOrPatternListPermission(
+            context.userName, checkedPaths, PrivilegeType.WRITE_SCHEMA),
+        checkedPaths,
+        PrivilegeType.WRITE_SCHEMA);
+  }
 
   @Override
   public TSStatus visitSetSqlDialect(
-      SetSqlDialectStatement statement, TreeAccessCheckContext context) {}
+      SetSqlDialectStatement statement, TreeAccessCheckContext context) {
+    return SUCCEED;
+  }
 
   @Override
-  public TSStatus visitSetTTL(SetTTLStatement statement, 
TreeAccessCheckContext context) {}
+  public TSStatus visitSetTTL(SetTTLStatement statement, 
TreeAccessCheckContext context) {
+    if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+      return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+    }
+    List<PartialPath> checkedPaths = statement.getPaths();
+    return AuthorityChecker.getTSStatus(
+        AuthorityChecker.checkFullPathOrPatternListPermission(
+            context.userName, checkedPaths, PrivilegeType.WRITE_SCHEMA),
+        checkedPaths,
+        PrivilegeType.WRITE_SCHEMA);
+  }
 
   @Override
-  public TSStatus visitShowAINodes(
-      ShowAINodesStatement statement, TreeAccessCheckContext context) {}
+  public TSStatus visitShowAINodes(ShowAINodesStatement statement, 
TreeAccessCheckContext context) {
+    return AuthorityChecker.checkSuperUserOrMaintain(context.userName);
+  }
 
   @Override
   public TSStatus visitShowClusterId(
-      ShowClusterIdStatement statement, TreeAccessCheckContext context) {}
+      ShowClusterIdStatement statement, TreeAccessCheckContext context) {
+    return AuthorityChecker.checkSuperUserOrMaintain(context.userName);
+  }
 
   @Override
-  public TSStatus visitShowCluster(
-      ShowClusterStatement statement, TreeAccessCheckContext context) {}
+  public TSStatus visitShowCluster(ShowClusterStatement statement, 
TreeAccessCheckContext context) {
+    return AuthorityChecker.checkSuperUserOrMaintain(context.userName);
+  }
 
   @Override
   public TSStatus visitShowConfigNodes(
-      ShowConfigNodesStatement statement, TreeAccessCheckContext context) {}
+      ShowConfigNodesStatement statement, TreeAccessCheckContext context) {
+    return AuthorityChecker.checkSuperUserOrMaintain(context.userName);
+  }
 
   @Override
   public TSStatus visitShowContinuousQueries(
-      ShowContinuousQueriesStatement statement, TreeAccessCheckContext 
context) {}
+      ShowContinuousQueriesStatement statement, TreeAccessCheckContext 
context) {
+    if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+      return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+    }
+    return AuthorityChecker.getTSStatus(
+        AuthorityChecker.checkSystemPermission(context.userName, 
PrivilegeType.USE_CQ),
+        PrivilegeType.USE_CQ);
+  }
 
   @Override
   public TSStatus visitShowCurrentSqlDialect(
-      ShowCurrentSqlDialectStatement statement, TreeAccessCheckContext 
context) {}
+      ShowCurrentSqlDialectStatement statement, TreeAccessCheckContext 
context) {
+    return SUCCEED;
+  }
 
   @Override
   public TSStatus visitShowCurrentUser(
-      ShowCurrentUserStatement statement, TreeAccessCheckContext context) {}
+      ShowCurrentUserStatement statement, TreeAccessCheckContext context) {
+    return SUCCEED;
+  }
 
   @Override
   public TSStatus visitShowDataNodes(
-      ShowDataNodesStatement statement, TreeAccessCheckContext context) {}
+      ShowDataNodesStatement statement, TreeAccessCheckContext context) {
+    return AuthorityChecker.checkSuperUserOrMaintain(context.userName);
+  }
 
   @Override
   public TSStatus visitShowDevices(ShowDevicesStatement statement, 
TreeAccessCheckContext context) {
@@ -440,40 +545,90 @@ public class TreeAccessCheckVisitor extends 
StatementVisitor<TSStatus, TreeAcces
 
   @Override
   public TSStatus visitShowFunctions(
-      ShowFunctionsStatement statement, TreeAccessCheckContext context) {}
+      ShowFunctionsStatement statement, TreeAccessCheckContext context) {
+    if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+      return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+    }
+    return AuthorityChecker.getTSStatus(
+        AuthorityChecker.checkSystemPermission(context.userName, 
PrivilegeType.USE_UDF),
+        PrivilegeType.USE_UDF);
+  }
 
   @Override
-  public TSStatus visitShowModels(ShowModelsStatement statement, 
TreeAccessCheckContext context) {}
+  public TSStatus visitShowModels(ShowModelsStatement statement, 
TreeAccessCheckContext context) {
+    if (AuthorityChecker.SUPER_USER.equals(contextuserName)) {
+      return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+    }
+    return AuthorityChecker.getTSStatus(
+        AuthorityChecker.checkSystemPermission(context.userName, 
PrivilegeType.USE_MODEL),
+        PrivilegeType.USE_MODEL);
+  }
 
   @Override
   public TSStatus visitShowNodesInSchemaTemplate(
-      ShowNodesInSchemaTemplateStatement statement, TreeAccessCheckContext 
context) {}
+      ShowNodesInSchemaTemplateStatement statement, TreeAccessCheckContext 
context) {
+    return AuthorityChecker.getTSStatus(
+        AuthorityChecker.SUPER_USER.equals(context.userName),
+        "Only the admin user can perform this operation");
+  }
 
   @Override
   public TSStatus visitShowPathSetTemplate(
-      ShowPathSetTemplateStatement statement, TreeAccessCheckContext context) 
{}
+      ShowPathSetTemplateStatement statement, TreeAccessCheckContext context) {
+    return AuthorityChecker.getTSStatus(
+        AuthorityChecker.SUPER_USER.equals(context.userName),
+        "Only the admin user can perform this operation");
+  }
 
   @Override
   public TSStatus visitShowPipePlugins(
-      ShowPipePluginsStatement statement, TreeAccessCheckContext context) {}
+      ShowPipePluginsStatement statement, TreeAccessCheckContext context) {
+    if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+      return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+    }
+    return AuthorityChecker.getTSStatus(
+        AuthorityChecker.checkSystemPermission(context.userName, 
PrivilegeType.USE_PIPE),
+        PrivilegeType.USE_PIPE);
+  }
 
   @Override
-  public TSStatus visitShowPipes(ShowPipesStatement statement, 
TreeAccessCheckContext context) {}
+  public TSStatus visitShowPipes(ShowPipesStatement statement, 
TreeAccessCheckContext context) {
+    if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+      return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+    }
+    return AuthorityChecker.getTSStatus(
+        AuthorityChecker.checkSystemPermission(context.userName, 
PrivilegeType.USE_PIPE),
+        PrivilegeType.USE_PIPE);
+  }
 
   @Override
-  public TSStatus visitShowQueries(
-      ShowQueriesStatement statement, TreeAccessCheckContext context) {}
+  public TSStatus visitShowQueries(ShowQueriesStatement statement, 
TreeAccessCheckContext context) {
+    return AuthorityChecker.checkSuperUserOrMaintain(context.userName);
+  }
 
   @Override
-  public TSStatus visitShowRegion(ShowRegionStatement statement, 
TreeAccessCheckContext context) {}
+  public TSStatus visitShowRegion(ShowRegionStatement statement, 
TreeAccessCheckContext context) {
+    return AuthorityChecker.checkSuperUserOrMaintain(context.userName);
+  }
 
   @Override
   public TSStatus visitShowSchemaTemplate(
-      ShowSchemaTemplateStatement statement, TreeAccessCheckContext context) {}
+      ShowSchemaTemplateStatement statement, TreeAccessCheckContext context) {
+    return AuthorityChecker.getTSStatus(
+        AuthorityChecker.SUPER_USER.equals(context.userName),
+        "Only the admin user can perform this operation");
+  }
 
   @Override
   public TSStatus visitShowSubscriptions(
-      ShowSubscriptionsStatement statement, TreeAccessCheckContext context) {}
+      ShowSubscriptionsStatement statement, TreeAccessCheckContext context) {
+    if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+      return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+    }
+    return AuthorityChecker.getTSStatus(
+        AuthorityChecker.checkSystemPermission(context.userName, 
PrivilegeType.USE_PIPE),
+        PrivilegeType.USE_PIPE);
+  }
 
   @Override
   public TSStatus visitShowTimeSeries(
@@ -498,27 +653,60 @@ public class TreeAccessCheckVisitor extends 
StatementVisitor<TSStatus, TreeAcces
   }
 
   @Override
-  public TSStatus visitShowTopics(ShowTopicsStatement statement, 
TreeAccessCheckContext context) {}
+  public TSStatus visitShowTopics(ShowTopicsStatement statement, 
TreeAccessCheckContext context) {
+    if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+      return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+    }
+    return AuthorityChecker.getTSStatus(
+        AuthorityChecker.checkSystemPermission(context.userName, 
PrivilegeType.USE_PIPE),
+        PrivilegeType.USE_PIPE);
+  }
 
   @Override
   public TSStatus visitShowTriggers(
-      ShowTriggersStatement statement, TreeAccessCheckContext context) {}
+      ShowTriggersStatement statement, TreeAccessCheckContext context) {
+    if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+      return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+    }
+    return AuthorityChecker.getTSStatus(
+        AuthorityChecker.checkSystemPermission(context.userName, 
PrivilegeType.USE_TRIGGER),
+        PrivilegeType.USE_TRIGGER);
+  }
 
   @Override
   public TSStatus visitShowVariables(
-      ShowVariablesStatement statement, TreeAccessCheckContext context) {}
+      ShowVariablesStatement statement, TreeAccessCheckContext context) {
+    return SUCCEED;
+  }
 
   @Override
-  public TSStatus visitShowVersion(
-      ShowVersionStatement statement, TreeAccessCheckContext context) {}
+  public TSStatus visitShowVersion(ShowVersionStatement statement, 
TreeAccessCheckContext context) {
+    return SUCCEED;
+  }
 
   @Override
-  public TSStatus visitStartPipe(StartPipeStatement statement, 
TreeAccessCheckContext context) {}
+  public TSStatus visitStartPipe(StartPipeStatement statement, 
TreeAccessCheckContext context) {
+    if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+      return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+    }
+    return AuthorityChecker.getTSStatus(
+        AuthorityChecker.checkSystemPermission(context.userName, 
PrivilegeType.USE_PIPE),
+        PrivilegeType.USE_PIPE);
+  }
 
   @Override
-  public TSStatus visitStopPipe(StopPipeStatement statement, 
TreeAccessCheckContext context) {}
+  public TSStatus visitStopPipe(StopPipeStatement statement, 
TreeAccessCheckContext context) {
+    if (AuthorityChecker.SUPER_USER.equals(context.userName)) {
+      return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
+    }
+    return AuthorityChecker.getTSStatus(
+        AuthorityChecker.checkSystemPermission(context.userName, 
PrivilegeType.USE_PIPE),
+        PrivilegeType.USE_PIPE);
+  }
 
   @Override
   public TSStatus visitTestConnection(
-      TestConnectionStatement statement, TreeAccessCheckContext context) {}
+      TestConnectionStatement statement, TreeAccessCheckContext context) {
+    return AuthorityChecker.checkSuperUserOrMaintain(userName);
+  }
 }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/Statement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/Statement.java
index 8dc08d88b73..62d73c56c4c 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/Statement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/Statement.java
@@ -19,9 +19,7 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
 import org.apache.iotdb.db.queryengine.plan.parser.ASTVisitor;
 
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/LoadTsFileStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/LoadTsFileStatement.java
index abb42b74417..4c27796680b 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/LoadTsFileStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/LoadTsFileStatement.java
@@ -19,7 +19,6 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.crud;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.conf.IoTDBDescriptor;
 import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
@@ -29,7 +28,6 @@ import 
org.apache.iotdb.db.queryengine.plan.statement.StatementType;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
 import org.apache.iotdb.db.storageengine.dataregion.tsfile.TsFileResource;
 import org.apache.iotdb.db.storageengine.load.config.LoadTsFileConfigurator;
-import org.apache.iotdb.rpc.TSStatusCode;
 
 import org.apache.tsfile.annotations.TableModel;
 import org.apache.tsfile.common.constant.TsFileConstant;
@@ -312,12 +310,6 @@ public class LoadTsFileStatement extends Statement {
     return Collections.emptyList();
   }
 
-  @Override
-  public TSStatus checkPermissionBeforeProcess(String userName) {
-    // no need to check here, it will be checked in process phase
-    return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
-  }
-
   @TableModel
   @Override
   public org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Statement 
toRelationalStatement(
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/QueryStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/QueryStatement.java
index ba4ac07ae87..d966903abd3 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/QueryStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/QueryStatement.java
@@ -19,11 +19,7 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.crud;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.AuthException;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import org.apache.iotdb.db.exception.sql.SemanticException;
 import org.apache.iotdb.db.queryengine.execution.operator.window.WindowType;
 import 
org.apache.iotdb.db.queryengine.execution.operator.window.ainode.InferenceWindow;
@@ -50,7 +46,6 @@ import 
org.apache.iotdb.db.queryengine.plan.statement.component.ResultSetFormat;
 import 
org.apache.iotdb.db.queryengine.plan.statement.component.SelectComponent;
 import org.apache.iotdb.db.queryengine.plan.statement.component.SortItem;
 import org.apache.iotdb.db.queryengine.plan.statement.component.WhereCondition;
-import org.apache.iotdb.rpc.TSStatusCode;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -217,19 +212,6 @@ public class QueryStatement extends 
AuthorityInformationStatement {
     return new ArrayList<>(authPaths);
   }
 
-  @Override
-  public TSStatus checkPermissionBeforeProcess(String userName) {
-    try {
-      if (!AuthorityChecker.SUPER_USER.equals(userName)) {
-        this.authorityScope =
-            AuthorityChecker.getAuthorizedPathTree(userName, 
PrivilegeType.READ_DATA);
-      }
-    } catch (AuthException e) {
-      return new TSStatus(e.getCode().getStatusCode());
-    }
-    return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
-  }
-
   public SelectComponent getSelectComponent() {
     return selectComponent;
   }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/internal/InternalBatchActivateTemplateStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/internal/InternalBatchActivateTemplateStatement.java
index fb4e8d7ebd8..7b7a19a9a8e 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/internal/InternalBatchActivateTemplateStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/internal/InternalBatchActivateTemplateStatement.java
@@ -19,16 +19,12 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.internal;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import org.apache.iotdb.db.queryengine.plan.statement.Statement;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
 import org.apache.iotdb.db.schemaengine.template.ClusterTemplateManager;
 import org.apache.iotdb.db.schemaengine.template.Template;
-import org.apache.iotdb.rpc.TSStatusCode;
 
 import org.apache.tsfile.utils.Pair;
 
@@ -71,19 +67,6 @@ public class InternalBatchActivateTemplateStatement extends 
Statement {
         .collect(Collectors.toList());
   }
 
-  @Override
-  public TSStatus checkPermissionBeforeProcess(String userName) {
-    if (AuthorityChecker.SUPER_USER.equals(userName)) {
-      return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
-    }
-    List<PartialPath> checkedPaths = getPaths();
-    return AuthorityChecker.getTSStatus(
-        AuthorityChecker.checkFullPathOrPatternListPermission(
-            userName, checkedPaths, PrivilegeType.WRITE_SCHEMA),
-        checkedPaths,
-        PrivilegeType.WRITE_SCHEMA);
-  }
-
   @Override
   public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
     return visitor.visitInternalBatchActivateTemplate(this, context);
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/internal/InternalCreateMultiTimeSeriesStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/internal/InternalCreateMultiTimeSeriesStatement.java
index 168cfeed76b..baee566130e 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/internal/InternalCreateMultiTimeSeriesStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/internal/InternalCreateMultiTimeSeriesStatement.java
@@ -19,15 +19,11 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.internal;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import 
org.apache.iotdb.db.queryengine.plan.planner.plan.node.metadata.write.MeasurementGroup;
 import org.apache.iotdb.db.queryengine.plan.statement.Statement;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
 
 import org.apache.tsfile.utils.Pair;
 
@@ -60,19 +56,6 @@ public class InternalCreateMultiTimeSeriesStatement extends 
Statement {
         .collect(Collectors.toList());
   }
 
-  @Override
-  public TSStatus checkPermissionBeforeProcess(String userName) {
-    if (AuthorityChecker.SUPER_USER.equals(userName)) {
-      return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
-    }
-    List<PartialPath> checkedPaths = getPaths();
-    return AuthorityChecker.getTSStatus(
-        AuthorityChecker.checkFullPathOrPatternListPermission(
-            userName, checkedPaths, PrivilegeType.WRITE_SCHEMA),
-        checkedPaths,
-        PrivilegeType.WRITE_SCHEMA);
-  }
-
   @Override
   public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
     return visitor.visitInternalCreateMultiTimeSeries(this, context);
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/internal/InternalCreateTimeSeriesStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/internal/InternalCreateTimeSeriesStatement.java
index 9327ba038bc..8e6c16663f0 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/internal/InternalCreateTimeSeriesStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/internal/InternalCreateTimeSeriesStatement.java
@@ -19,14 +19,10 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.internal;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import org.apache.iotdb.db.queryengine.plan.statement.Statement;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
 
 import org.apache.tsfile.enums.TSDataType;
 import org.apache.tsfile.file.metadata.enums.CompressionType;
@@ -95,19 +91,6 @@ public class InternalCreateTimeSeriesStatement extends 
Statement {
         .collect(Collectors.toList());
   }
 
-  @Override
-  public TSStatus checkPermissionBeforeProcess(String userName) {
-    if (AuthorityChecker.SUPER_USER.equals(userName)) {
-      return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
-    }
-    List<PartialPath> checkedPaths = getPaths();
-    return AuthorityChecker.getTSStatus(
-        AuthorityChecker.checkFullPathOrPatternListPermission(
-            userName, checkedPaths, PrivilegeType.WRITE_SCHEMA),
-        checkedPaths,
-        PrivilegeType.WRITE_SCHEMA);
-  }
-
   @Override
   public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
     return visitor.visitInternalCreateTimeseries(this, context);
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/RemoveAINodeStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/RemoveAINodeStatement.java
index 5b4b9f9ea46..b8ee3d6f08b 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/RemoveAINodeStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/RemoveAINodeStatement.java
@@ -19,9 +19,7 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.metadata;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
 import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
 import org.apache.iotdb.db.queryengine.plan.statement.Statement;
@@ -48,11 +46,6 @@ public class RemoveAINodeStatement extends Statement 
implements IConfigStatement
     return nodeId;
   }
 
-  @Override
-  public TSStatus checkPermissionBeforeProcess(String userName) {
-    return AuthorityChecker.checkSuperUserOrMaintain(userName);
-  }
-
   @Override
   public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
     return visitor.visitRemoveAINode(this, context);
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/RemoveConfigNodeStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/RemoveConfigNodeStatement.java
index 3aac14ed831..3851ecb0e1e 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/RemoveConfigNodeStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/RemoveConfigNodeStatement.java
@@ -19,9 +19,7 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.metadata;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
 import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
 import org.apache.iotdb.db.queryengine.plan.statement.Statement;
@@ -42,11 +40,6 @@ public class RemoveConfigNodeStatement extends Statement 
implements IConfigState
     return nodeId;
   }
 
-  @Override
-  public TSStatus checkPermissionBeforeProcess(String userName) {
-    return AuthorityChecker.checkSuperUserOrMaintain(userName);
-  }
-
   @Override
   public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
     return visitor.visitRemoveConfigNode(this, context);
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/RemoveDataNodeStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/RemoveDataNodeStatement.java
index 3fab79a7dd6..44a6ddc6907 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/RemoveDataNodeStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/RemoveDataNodeStatement.java
@@ -19,9 +19,7 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.metadata;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
 import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
 import org.apache.iotdb.db.queryengine.plan.statement.Statement;
@@ -45,11 +43,6 @@ public class RemoveDataNodeStatement extends Statement 
implements IConfigStateme
     return nodeIds;
   }
 
-  @Override
-  public TSStatus checkPermissionBeforeProcess(String userName) {
-    return AuthorityChecker.checkSuperUserOrMaintain(userName);
-  }
-
   @Override
   public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
     return visitor.visitRemoveDataNode(this, context);
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/SetTTLStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/SetTTLStatement.java
index 3c78f52e9f9..c71a7ecb35e 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/SetTTLStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/SetTTLStatement.java
@@ -19,16 +19,12 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.metadata;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
 import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
 import org.apache.iotdb.db.queryengine.plan.statement.Statement;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
 
 import java.util.Collections;
 import java.util.List;
@@ -74,17 +70,4 @@ public class SetTTLStatement extends Statement implements 
IConfigStatement {
         ? Collections.singletonList(path)
         : Collections.singletonList(new PartialPath(new String[] {"root", 
"**"}));
   }
-
-  @Override
-  public TSStatus checkPermissionBeforeProcess(String userName) {
-    if (AuthorityChecker.SUPER_USER.equals(userName)) {
-      return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
-    }
-    List<PartialPath> checkedPaths = getPaths();
-    return AuthorityChecker.getTSStatus(
-        AuthorityChecker.checkFullPathOrPatternListPermission(
-            userName, checkedPaths, PrivilegeType.WRITE_SCHEMA),
-        checkedPaths,
-        PrivilegeType.WRITE_SCHEMA);
-  }
 }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowClusterIdStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowClusterIdStatement.java
index bf3d84a7aca..3b0dbf12083 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowClusterIdStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowClusterIdStatement.java
@@ -19,8 +19,6 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.metadata;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
 import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
@@ -35,9 +33,4 @@ public class ShowClusterIdStatement extends ShowStatement 
implements IConfigStat
   public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
     return visitor.visitShowClusterId(this, context);
   }
-
-  @Override
-  public TSStatus checkPermissionBeforeProcess(String userName) {
-    return AuthorityChecker.checkSuperUserOrMaintain(userName);
-  }
 }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowClusterStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowClusterStatement.java
index a835d0779e3..f66489793ad 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowClusterStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowClusterStatement.java
@@ -19,8 +19,6 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.metadata;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
 import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
@@ -34,11 +32,6 @@ public class ShowClusterStatement extends ShowStatement 
implements IConfigStatem
     return QueryType.READ;
   }
 
-  @Override
-  public TSStatus checkPermissionBeforeProcess(String userName) {
-    return AuthorityChecker.checkSuperUserOrMaintain(userName);
-  }
-
   @Override
   public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
     return visitor.visitShowCluster(this, context);
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowConfigNodesStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowConfigNodesStatement.java
index 81f31aeb6cb..5fb490b2b5b 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowConfigNodesStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowConfigNodesStatement.java
@@ -19,8 +19,6 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.metadata;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
 import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
@@ -32,11 +30,6 @@ public class ShowConfigNodesStatement extends ShowStatement 
implements IConfigSt
     return QueryType.READ;
   }
 
-  @Override
-  public TSStatus checkPermissionBeforeProcess(String userName) {
-    return AuthorityChecker.checkSuperUserOrMaintain(userName);
-  }
-
   @Override
   public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
     return visitor.visitShowConfigNodes(this, context);
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowContinuousQueriesStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowContinuousQueriesStatement.java
index e40354beb10..8a98e7f363f 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowContinuousQueriesStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowContinuousQueriesStatement.java
@@ -19,15 +19,11 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.metadata;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
 import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
 
 import java.util.Collections;
 import java.util.List;
@@ -53,14 +49,4 @@ public class ShowContinuousQueriesStatement extends 
ShowStatement implements ICo
   public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
     return visitor.visitShowContinuousQueries(this, context);
   }
-
-  @Override
-  public TSStatus checkPermissionBeforeProcess(String userName) {
-    if (AuthorityChecker.SUPER_USER.equals(userName)) {
-      return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
-    }
-    return AuthorityChecker.getTSStatus(
-        AuthorityChecker.checkSystemPermission(userName, PrivilegeType.USE_CQ),
-        PrivilegeType.USE_CQ);
-  }
 }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowDataNodesStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowDataNodesStatement.java
index b1fc67c7b4c..519a6bc1bf6 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowDataNodesStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowDataNodesStatement.java
@@ -20,8 +20,6 @@
 package org.apache.iotdb.db.queryengine.plan.statement.metadata;
 
 import org.apache.iotdb.common.rpc.thrift.TConsensusGroupType;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
 import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
@@ -44,11 +42,6 @@ public class ShowDataNodesStatement extends ShowStatement 
implements IConfigStat
     this.regionType = regionType;
   }
 
-  @Override
-  public TSStatus checkPermissionBeforeProcess(String userName) {
-    return AuthorityChecker.checkSuperUserOrMaintain(userName);
-  }
-
   @Override
   public QueryType getQueryType() {
     return QueryType.READ;
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowFunctionsStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowFunctionsStatement.java
index 289d4e259cc..3e61ced117d 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowFunctionsStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowFunctionsStatement.java
@@ -19,14 +19,10 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.metadata;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
 import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
 
 import java.util.Collections;
 import java.util.List;
@@ -47,14 +43,4 @@ public class ShowFunctionsStatement extends ShowStatement 
implements IConfigStat
   public List<PartialPath> getPaths() {
     return Collections.emptyList();
   }
-
-  @Override
-  public TSStatus checkPermissionBeforeProcess(String userName) {
-    if (AuthorityChecker.SUPER_USER.equals(userName)) {
-      return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
-    }
-    return AuthorityChecker.getTSStatus(
-        AuthorityChecker.checkSystemPermission(userName, 
PrivilegeType.USE_UDF),
-        PrivilegeType.USE_UDF);
-  }
 }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowRegionStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowRegionStatement.java
index f5065ef83bc..92d66053f07 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowRegionStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowRegionStatement.java
@@ -20,9 +20,7 @@
 package org.apache.iotdb.db.queryengine.plan.statement.metadata;
 
 import org.apache.iotdb.common.rpc.thrift.TConsensusGroupType;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
 import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
@@ -62,11 +60,6 @@ public class ShowRegionStatement extends ShowStatement 
implements IConfigStateme
     return nodeIds;
   }
 
-  @Override
-  public TSStatus checkPermissionBeforeProcess(final String userName) {
-    return AuthorityChecker.checkSuperUserOrMaintain(userName);
-  }
-
   @Override
   public QueryType getQueryType() {
     return QueryType.READ;
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowTriggersStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowTriggersStatement.java
index 8b86427e38f..4d1de329795 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowTriggersStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowTriggersStatement.java
@@ -19,14 +19,10 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.metadata;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
 import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
 
 import java.util.Collections;
 import java.util.List;
@@ -47,14 +43,4 @@ public class ShowTriggersStatement extends ShowStatement 
implements IConfigState
   public List<PartialPath> getPaths() {
     return Collections.emptyList();
   }
-
-  @Override
-  public TSStatus checkPermissionBeforeProcess(String userName) {
-    if (AuthorityChecker.SUPER_USER.equals(userName)) {
-      return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
-    }
-    return AuthorityChecker.getTSStatus(
-        AuthorityChecker.checkSystemPermission(userName, 
PrivilegeType.USE_TRIGGER),
-        PrivilegeType.USE_TRIGGER);
-  }
 }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowVariablesStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowVariablesStatement.java
index f8863fa2f12..dbf2f2397c6 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowVariablesStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/ShowVariablesStatement.java
@@ -19,11 +19,9 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.metadata;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
 import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
 
 public class ShowVariablesStatement extends ShowStatement implements 
IConfigStatement {
 
@@ -32,11 +30,6 @@ public class ShowVariablesStatement extends ShowStatement 
implements IConfigStat
     return QueryType.READ;
   }
 
-  @Override
-  public TSStatus checkPermissionBeforeProcess(String userName) {
-    return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
-  }
-
   @Override
   public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
     return visitor.visitShowVariables(this, context);
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/model/ShowAINodesStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/model/ShowAINodesStatement.java
index d99e158f0cd..602d0e01465 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/model/ShowAINodesStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/model/ShowAINodesStatement.java
@@ -19,8 +19,6 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.metadata.model;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
 import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
@@ -39,9 +37,4 @@ public class ShowAINodesStatement extends ShowStatement 
implements IConfigStatem
   public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
     return visitor.visitShowAINodes(this, context);
   }
-
-  @Override
-  public TSStatus checkPermissionBeforeProcess(String userName) {
-    return AuthorityChecker.checkSuperUserOrMaintain(userName);
-  }
 }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/model/ShowModelsStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/model/ShowModelsStatement.java
index 4675ed8980c..e9b68e67b70 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/model/ShowModelsStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/model/ShowModelsStatement.java
@@ -19,15 +19,11 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.metadata.model;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
 import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
 import org.apache.iotdb.db.queryengine.plan.statement.Statement;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
 
 import java.util.Collections;
 import java.util.List;
@@ -62,16 +58,6 @@ public class ShowModelsStatement extends Statement 
implements IConfigStatement {
     return QueryType.READ;
   }
 
-  @Override
-  public TSStatus checkPermissionBeforeProcess(String userName) {
-    if (AuthorityChecker.SUPER_USER.equals(userName)) {
-      return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
-    }
-    return AuthorityChecker.getTSStatus(
-        AuthorityChecker.checkSystemPermission(userName, 
PrivilegeType.USE_MODEL),
-        PrivilegeType.USE_MODEL);
-  }
-
   @Override
   public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
     return visitor.visitShowModels(this, context);
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/ShowPipePluginsStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/ShowPipePluginsStatement.java
index 56c79e37a5d..e7ac65ada5b 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/ShowPipePluginsStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/ShowPipePluginsStatement.java
@@ -19,15 +19,11 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.metadata.pipe;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
 import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
 import org.apache.iotdb.db.queryengine.plan.statement.metadata.ShowStatement;
-import org.apache.iotdb.rpc.TSStatusCode;
 
 public class ShowPipePluginsStatement extends ShowStatement implements 
IConfigStatement {
 
@@ -55,14 +51,4 @@ public class ShowPipePluginsStatement extends ShowStatement 
implements IConfigSt
   public QueryType getQueryType() {
     return QueryType.READ;
   }
-
-  @Override
-  public TSStatus checkPermissionBeforeProcess(final String userName) {
-    if (AuthorityChecker.SUPER_USER.equals(userName)) {
-      return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
-    }
-    return AuthorityChecker.getTSStatus(
-        AuthorityChecker.checkSystemPermission(userName, 
PrivilegeType.USE_PIPE),
-        PrivilegeType.USE_PIPE);
-  }
 }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/ShowPipesStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/ShowPipesStatement.java
index 51de7b7c005..26bf6764a44 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/ShowPipesStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/ShowPipesStatement.java
@@ -19,15 +19,11 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.metadata.pipe;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
 import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
 import org.apache.iotdb.db.queryengine.plan.statement.metadata.ShowStatement;
-import org.apache.iotdb.rpc.TSStatusCode;
 
 public class ShowPipesStatement extends ShowStatement implements 
IConfigStatement {
   public ShowPipesStatement() {
@@ -70,16 +66,6 @@ public class ShowPipesStatement extends ShowStatement 
implements IConfigStatemen
     return QueryType.READ;
   }
 
-  @Override
-  public TSStatus checkPermissionBeforeProcess(final String userName) {
-    if (AuthorityChecker.SUPER_USER.equals(userName)) {
-      return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
-    }
-    return AuthorityChecker.getTSStatus(
-        AuthorityChecker.checkSystemPermission(userName, 
PrivilegeType.USE_PIPE),
-        PrivilegeType.USE_PIPE);
-  }
-
   @Override
   public <R, C> R accept(final StatementVisitor<R, C> visitor, final C 
context) {
     return visitor.visitShowPipes(this, context);
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/StartPipeStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/StartPipeStatement.java
index 346eaf05cd3..1122310b001 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/StartPipeStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/StartPipeStatement.java
@@ -19,16 +19,12 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.metadata.pipe;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
 import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
 import org.apache.iotdb.db.queryengine.plan.statement.Statement;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
 
 import java.util.Collections;
 import java.util.List;
@@ -68,16 +64,6 @@ public class StartPipeStatement extends Statement implements 
IConfigStatement {
     return Collections.emptyList();
   }
 
-  @Override
-  public TSStatus checkPermissionBeforeProcess(final String userName) {
-    if (AuthorityChecker.SUPER_USER.equals(userName)) {
-      return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
-    }
-    return AuthorityChecker.getTSStatus(
-        AuthorityChecker.checkSystemPermission(userName, 
PrivilegeType.USE_PIPE),
-        PrivilegeType.USE_PIPE);
-  }
-
   @Override
   public <R, C> R accept(final StatementVisitor<R, C> visitor, final C 
context) {
     return visitor.visitStartPipe(this, context);
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/StopPipeStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/StopPipeStatement.java
index 70447ae7b90..23bb60ae39c 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/StopPipeStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/pipe/StopPipeStatement.java
@@ -19,16 +19,12 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.metadata.pipe;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
 import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
 import org.apache.iotdb.db.queryengine.plan.statement.Statement;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
 
 import java.util.Collections;
 import java.util.List;
@@ -68,16 +64,6 @@ public class StopPipeStatement extends Statement implements 
IConfigStatement {
     return Collections.emptyList();
   }
 
-  @Override
-  public TSStatus checkPermissionBeforeProcess(final String userName) {
-    if (AuthorityChecker.SUPER_USER.equals(userName)) {
-      return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
-    }
-    return AuthorityChecker.getTSStatus(
-        AuthorityChecker.checkSystemPermission(userName, 
PrivilegeType.USE_PIPE),
-        PrivilegeType.USE_PIPE);
-  }
-
   @Override
   public <R, C> R accept(final StatementVisitor<R, C> visitor, final C 
context) {
     return visitor.visitStopPipe(this, context);
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/region/MigrateRegionStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/region/MigrateRegionStatement.java
index ef272c81d2c..616357f5379 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/region/MigrateRegionStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/region/MigrateRegionStatement.java
@@ -19,9 +19,7 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.metadata.region;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
 import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
 import org.apache.iotdb.db.queryengine.plan.statement.Statement;
@@ -65,11 +63,6 @@ public class MigrateRegionStatement extends Statement 
implements IConfigStatemen
     return toId;
   }
 
-  @Override
-  public TSStatus checkPermissionBeforeProcess(String userName) {
-    return AuthorityChecker.checkSuperUserOrMaintain(userName);
-  }
-
   @Override
   public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
     return visitor.visitMigrateRegion(this, context);
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/region/ReconstructRegionStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/region/ReconstructRegionStatement.java
index 25f3d65d837..cd22e61ad7f 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/region/ReconstructRegionStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/region/ReconstructRegionStatement.java
@@ -19,9 +19,7 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.metadata.region;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
 import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
 import org.apache.iotdb.db.queryengine.plan.statement.Statement;
@@ -47,11 +45,6 @@ public class ReconstructRegionStatement extends Statement 
implements IConfigStat
     return regionIds;
   }
 
-  @Override
-  public TSStatus checkPermissionBeforeProcess(String userName) {
-    return AuthorityChecker.checkSuperUserOrMaintain(userName);
-  }
-
   @Override
   public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
     return visitor.visitReconstructRegion(this, context);
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/region/RemoveRegionStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/region/RemoveRegionStatement.java
index f4d3b94c682..f64d6d84fe1 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/region/RemoveRegionStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/region/RemoveRegionStatement.java
@@ -19,9 +19,7 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.metadata.region;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
 import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
 import org.apache.iotdb.db.queryengine.plan.statement.Statement;
@@ -49,11 +47,6 @@ public class RemoveRegionStatement extends Statement 
implements IConfigStatement
     return dataNodeId;
   }
 
-  @Override
-  public TSStatus checkPermissionBeforeProcess(String userName) {
-    return AuthorityChecker.checkSuperUserOrMaintain(userName);
-  }
-
   @Override
   public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
     return visitor.visitRemoveRegion(this, context);
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/subscription/ShowSubscriptionsStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/subscription/ShowSubscriptionsStatement.java
index 9bccb3270ae..aa2abbfc188 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/subscription/ShowSubscriptionsStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/subscription/ShowSubscriptionsStatement.java
@@ -19,16 +19,12 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.metadata.subscription;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
 import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
 import org.apache.iotdb.db.queryengine.plan.statement.Statement;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
 
 import java.util.Collections;
 import java.util.List;
@@ -73,14 +69,4 @@ public class ShowSubscriptionsStatement extends Statement 
implements IConfigStat
   public List<PartialPath> getPaths() {
     return Collections.emptyList();
   }
-
-  @Override
-  public TSStatus checkPermissionBeforeProcess(final String userName) {
-    if (AuthorityChecker.SUPER_USER.equals(userName)) {
-      return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
-    }
-    return AuthorityChecker.getTSStatus(
-        AuthorityChecker.checkSystemPermission(userName, 
PrivilegeType.USE_PIPE),
-        PrivilegeType.USE_PIPE);
-  }
 }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/subscription/ShowTopicsStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/subscription/ShowTopicsStatement.java
index eee05092407..a9c38856fd2 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/subscription/ShowTopicsStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/subscription/ShowTopicsStatement.java
@@ -19,16 +19,12 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.metadata.subscription;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
 import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
 import org.apache.iotdb.db.queryengine.plan.statement.Statement;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
 
 import java.util.Collections;
 import java.util.List;
@@ -73,14 +69,4 @@ public class ShowTopicsStatement extends Statement 
implements IConfigStatement {
   public List<PartialPath> getPaths() {
     return Collections.emptyList();
   }
-
-  @Override
-  public TSStatus checkPermissionBeforeProcess(final String userName) {
-    if (AuthorityChecker.SUPER_USER.equals(userName)) {
-      return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
-    }
-    return AuthorityChecker.getTSStatus(
-        AuthorityChecker.checkSystemPermission(userName, 
PrivilegeType.USE_PIPE),
-        PrivilegeType.USE_PIPE);
-  }
 }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/template/ShowNodesInSchemaTemplateStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/template/ShowNodesInSchemaTemplateStatement.java
index 9f95310ce18..04b4c92a6e8 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/template/ShowNodesInSchemaTemplateStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/template/ShowNodesInSchemaTemplateStatement.java
@@ -19,8 +19,6 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.metadata.template;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
 import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
@@ -37,13 +35,6 @@ public class ShowNodesInSchemaTemplateStatement extends 
ShowStatement implements
     this.templateName = templateName;
   }
 
-  @Override
-  public TSStatus checkPermissionBeforeProcess(String userName) {
-    return AuthorityChecker.getTSStatus(
-        AuthorityChecker.SUPER_USER.equals(userName),
-        "Only the admin user can perform this operation");
-  }
-
   @Override
   public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
     return visitor.visitShowNodesInSchemaTemplate(this, context);
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/template/ShowPathSetTemplateStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/template/ShowPathSetTemplateStatement.java
index 6865f4846ba..be4a7ef1af5 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/template/ShowPathSetTemplateStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/template/ShowPathSetTemplateStatement.java
@@ -19,8 +19,6 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.metadata.template;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
 import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
@@ -45,13 +43,6 @@ public class ShowPathSetTemplateStatement extends 
ShowStatement implements IConf
     this.templateName = templateName;
   }
 
-  @Override
-  public TSStatus checkPermissionBeforeProcess(String userName) {
-    return AuthorityChecker.getTSStatus(
-        AuthorityChecker.SUPER_USER.equals(userName),
-        "Only the admin user can perform this operation");
-  }
-
   @Override
   public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
     return visitor.visitShowPathSetTemplate(this, context);
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/template/ShowSchemaTemplateStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/template/ShowSchemaTemplateStatement.java
index 77749b23d47..c31689aca2b 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/template/ShowSchemaTemplateStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/template/ShowSchemaTemplateStatement.java
@@ -19,8 +19,6 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.metadata.template;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
 import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
@@ -34,13 +32,6 @@ public class ShowSchemaTemplateStatement extends 
ShowStatement implements IConfi
     statementType = StatementType.SHOW_SCHEMA_TEMPLATE;
   }
 
-  @Override
-  public TSStatus checkPermissionBeforeProcess(String userName) {
-    return AuthorityChecker.getTSStatus(
-        AuthorityChecker.SUPER_USER.equals(userName),
-        "Only the admin user can perform this operation");
-  }
-
   @Override
   public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
     return visitor.visitShowSchemaTemplate(this, context);
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/view/RenameLogicalViewStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/view/RenameLogicalViewStatement.java
index 4c3d13d559f..af1246d5339 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/view/RenameLogicalViewStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/view/RenameLogicalViewStatement.java
@@ -19,18 +19,12 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.metadata.view;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.auth.entity.PrivilegeType;
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
 import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
 import org.apache.iotdb.db.queryengine.plan.statement.Statement;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
-import org.apache.iotdb.rpc.TSStatusCode;
-
-import com.google.common.collect.ImmutableList;
 
 import java.util.Arrays;
 import java.util.List;
@@ -67,19 +61,6 @@ public class RenameLogicalViewStatement extends Statement 
implements IConfigStat
     return Arrays.asList(oldName, newName);
   }
 
-  @Override
-  public TSStatus checkPermissionBeforeProcess(String userName) {
-    if (AuthorityChecker.SUPER_USER.equals(userName)) {
-      return new TSStatus(TSStatusCode.SUCCESS_STATUS.getStatusCode());
-    }
-    List<PartialPath> checkedPaths = ImmutableList.of(oldName, newName);
-    return AuthorityChecker.getTSStatus(
-        AuthorityChecker.checkFullPathOrPatternListPermission(
-            userName, checkedPaths, PrivilegeType.WRITE_SCHEMA),
-        checkedPaths,
-        PrivilegeType.WRITE_SCHEMA);
-  }
-
   @Override
   public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
     return visitor.visitRenameLogicalView(this, context);
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/KillQueryStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/KillQueryStatement.java
index fe2781331ec..4e1a8618561 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/KillQueryStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/KillQueryStatement.java
@@ -19,9 +19,7 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.sys;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
 import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
 import org.apache.iotdb.db.queryengine.plan.statement.Statement;
@@ -54,11 +52,6 @@ public class KillQueryStatement extends Statement implements 
IConfigStatement {
     return Collections.emptyList();
   }
 
-  @Override
-  public TSStatus checkPermissionBeforeProcess(String userName) {
-    return AuthorityChecker.checkSuperUserOrMaintain(userName);
-  }
-
   @Override
   public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
     return visitor.visitKillQuery(this, context);
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/SetSqlDialectStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/SetSqlDialectStatement.java
index edb63ef4893..75cbbee32e6 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/SetSqlDialectStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/SetSqlDialectStatement.java
@@ -19,7 +19,6 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.sys;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.protocol.session.IClientSession;
 import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
@@ -31,8 +30,6 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Objects;
 
-import static org.apache.iotdb.db.auth.AuthorityChecker.SUCCEED;
-
 public class SetSqlDialectStatement extends Statement implements 
IConfigStatement {
   private final IClientSession.SqlDialect sqlDialect;
 
@@ -68,9 +65,4 @@ public class SetSqlDialectStatement extends Statement 
implements IConfigStatemen
   public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
     return visitor.visitSetSqlDialect(this, context);
   }
-
-  @Override
-  public TSStatus checkPermissionBeforeProcess(final String userName) {
-    return SUCCEED;
-  }
 }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/ShowCurrentSqlDialectStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/ShowCurrentSqlDialectStatement.java
index 73a40db282f..da8da0774ff 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/ShowCurrentSqlDialectStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/ShowCurrentSqlDialectStatement.java
@@ -19,25 +19,17 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.sys;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
 import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
 import org.apache.iotdb.db.queryengine.plan.statement.metadata.ShowStatement;
 
-import static org.apache.iotdb.db.auth.AuthorityChecker.SUCCEED;
-
 public class ShowCurrentSqlDialectStatement extends ShowStatement implements 
IConfigStatement {
   @Override
   public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
     return visitor.visitShowCurrentSqlDialect(this, context);
   }
 
-  @Override
-  public TSStatus checkPermissionBeforeProcess(String userName) {
-    return SUCCEED;
-  }
-
   @Override
   public QueryType getQueryType() {
     return QueryType.READ;
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/ShowCurrentUserStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/ShowCurrentUserStatement.java
index 81650ef21ae..eefe4520372 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/ShowCurrentUserStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/ShowCurrentUserStatement.java
@@ -19,25 +19,17 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.sys;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
 import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
 import org.apache.iotdb.db.queryengine.plan.statement.metadata.ShowStatement;
 
-import static org.apache.iotdb.db.auth.AuthorityChecker.SUCCEED;
-
 public class ShowCurrentUserStatement extends ShowStatement implements 
IConfigStatement {
   @Override
   public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
     return visitor.visitShowCurrentUser(this, context);
   }
 
-  @Override
-  public TSStatus checkPermissionBeforeProcess(String userName) {
-    return SUCCEED;
-  }
-
   @Override
   public QueryType getQueryType() {
     return QueryType.READ;
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/ShowQueriesStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/ShowQueriesStatement.java
index e23f2d647b1..1baca6e07b9 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/ShowQueriesStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/ShowQueriesStatement.java
@@ -19,8 +19,6 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.sys;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
 import 
org.apache.iotdb.db.queryengine.plan.statement.component.OrderByComponent;
@@ -56,11 +54,6 @@ public class ShowQueriesStatement extends ShowStatement {
     return visitor.visitShowQueries(this, context);
   }
 
-  @Override
-  public TSStatus checkPermissionBeforeProcess(String userName) {
-    return AuthorityChecker.checkSuperUserOrMaintain(userName);
-  }
-
   public void setWhereCondition(WhereCondition whereCondition) {
     this.whereCondition = whereCondition;
   }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/ShowVersionStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/ShowVersionStatement.java
index 69825844311..cb8083422b1 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/ShowVersionStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/ShowVersionStatement.java
@@ -19,12 +19,9 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.sys;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
 import org.apache.iotdb.db.queryengine.plan.statement.metadata.ShowStatement;
 
-import static org.apache.iotdb.db.auth.AuthorityChecker.SUCCEED;
-
 public class ShowVersionStatement extends ShowStatement {
 
   public ShowVersionStatement() {
@@ -35,9 +32,4 @@ public class ShowVersionStatement extends ShowStatement {
   public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
     return visitor.visitShowVersion(this, context);
   }
-
-  @Override
-  public TSStatus checkPermissionBeforeProcess(String userName) {
-    return SUCCEED;
-  }
 }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/TestConnectionStatement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/TestConnectionStatement.java
index ebcfe8be859..4940254120c 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/TestConnectionStatement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/sys/TestConnectionStatement.java
@@ -19,9 +19,7 @@
 
 package org.apache.iotdb.db.queryengine.plan.statement.sys;
 
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.auth.AuthorityChecker;
 import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
 import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
 import org.apache.iotdb.db.queryengine.plan.statement.Statement;
@@ -55,9 +53,4 @@ public class TestConnectionStatement extends Statement 
implements IConfigStateme
   public <R, C> R accept(StatementVisitor<R, C> visitor, C context) {
     return visitor.visitTestConnection(this, context);
   }
-
-  @Override
-  public TSStatus checkPermissionBeforeProcess(String userName) {
-    return AuthorityChecker.checkSuperUserOrMaintain(userName);
-  }
 }


Reply via email to