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

yiguolei pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/doris.git

commit ca05129fa1be933b308dec0786fb974feeec9100
Author: zhangdong <[email protected]>
AuthorDate: Thu Mar 21 14:53:48 2024 +0800

    [fix](auth)node priv can login web ui (#32521)
---
 .../main/java/org/apache/doris/httpv2/controller/BaseController.java  | 4 ++--
 .../src/main/java/org/apache/doris/mysql/privilege/PrivPredicate.java | 4 ++++
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/httpv2/controller/BaseController.java
 
b/fe/fe-core/src/main/java/org/apache/doris/httpv2/controller/BaseController.java
index e3d6d90ead2..cd753a100b6 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/httpv2/controller/BaseController.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/httpv2/controller/BaseController.java
@@ -68,7 +68,7 @@ public class BaseController {
             UserIdentity currentUser = checkPassword(authInfo);
 
             if (checkAuth) {
-                checkGlobalAuth(currentUser, PrivPredicate.ADMIN);
+                checkGlobalAuth(currentUser, PrivPredicate.ADMIN_OR_NODE);
             }
 
             SessionValue value = new SessionValue();
@@ -129,7 +129,7 @@ public class BaseController {
         }
 
         if (checkAuth && 
!Env.getCurrentEnv().getAccessManager().checkGlobalPriv(sessionValue.currentUser,
-                PrivPredicate.ADMIN)) {
+                PrivPredicate.ADMIN_OR_NODE)) {
             // need to check auth and check auth failed
             return null;
         }
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/PrivPredicate.java 
b/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/PrivPredicate.java
index 191d27cbdd2..74f477b6c78 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/PrivPredicate.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/PrivPredicate.java
@@ -54,6 +54,10 @@ public class PrivPredicate {
     public static final PrivPredicate ADMIN = 
PrivPredicate.of(PrivBitSet.of(Privilege.ADMIN_PRIV),
             Operator.OR);
 
+    public static final PrivPredicate ADMIN_OR_NODE = PrivPredicate.of(
+            PrivBitSet.of(Privilege.ADMIN_PRIV, Privilege.NODE_PRIV),
+            Operator.OR);
+
     // load
     public static final PrivPredicate LOAD = 
PrivPredicate.of(PrivBitSet.of(Privilege.ADMIN_PRIV,
             Privilege.LOAD_PRIV),


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

Reply via email to