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

mattisonchao pushed a commit to branch branch-3.3
in repository https://gitbox.apache.org/repos/asf/pulsar.git

commit 35a805fd9c89af835de3ddd3ce446a9e0160b2d7
Author: Qiang Zhao <[email protected]>
AuthorDate: Sat Nov 30 01:17:16 2024 +0800

    [feat][broker] Implement allowBrokerOperationAsync in 
PulsarAuthorizationProvider to avoid exception thrown (#23663)
    
    (cherry picked from commit 46037229947c8031207eaed70dd937e6990de544)
---
 .../pulsar/broker/authorization/PulsarAuthorizationProvider.java  | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git 
a/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/authorization/PulsarAuthorizationProvider.java
 
b/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/authorization/PulsarAuthorizationProvider.java
index 0af63724cc8..50783c4d133 100644
--- 
a/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/authorization/PulsarAuthorizationProvider.java
+++ 
b/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/authorization/PulsarAuthorizationProvider.java
@@ -40,6 +40,7 @@ import org.apache.pulsar.common.naming.NamespaceName;
 import org.apache.pulsar.common.naming.TopicName;
 import org.apache.pulsar.common.policies.data.AuthAction;
 import org.apache.pulsar.common.policies.data.AuthPolicies;
+import org.apache.pulsar.common.policies.data.BrokerOperation;
 import org.apache.pulsar.common.policies.data.NamespaceOperation;
 import org.apache.pulsar.common.policies.data.PolicyName;
 import org.apache.pulsar.common.policies.data.PolicyOperation;
@@ -690,6 +691,13 @@ public class PulsarAuthorizationProvider implements 
AuthorizationProvider {
                 });
     }
 
+    @Override
+    public CompletableFuture<Boolean> allowBrokerOperationAsync(String 
clusterName, String brokerId,
+                                                                
BrokerOperation brokerOperation, String role,
+                                                                
AuthenticationDataSource authData) {
+        return isSuperUser(role, authData, conf);
+    }
+
     @Override
     public CompletableFuture<Boolean> allowTopicPolicyOperationAsync(TopicName 
topicName, String role,
                                                                      
PolicyName policyName,

Reply via email to