From 0f155b664d15013f19215bde40821de6401157b4 Mon Sep 17 00:00:00 2001 From: thetumbled <843221020@qq.com> Date: Thu, 25 Apr 2024 11:54:00 +0800 Subject: [PATCH] change permission control for sub. --- .../broker/authorization/PulsarAuthorizationProvider.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) 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 a39c3d0560760..b6dc8945257c3 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 @@ -111,11 +111,10 @@ public CompletableFuture canConsumeAsync(TopicName topicName, String ro } } else { if (isNotBlank(subscription)) { - // validate if role is authorized to access subscription. (skip validation if authorization - // list is empty) + // validate if role is authorized to access subscription. Set roles = policies.get().auth_policies .getSubscriptionAuthentication().get(subscription); - if (roles != null && !roles.isEmpty() && !roles.contains(role)) { + if (roles == null || roles.isEmpty() || !roles.contains(role)) { log.warn("[{}] is not authorized to subscribe on {}-{}", role, topicName, subscription); return CompletableFuture.completedFuture(false); }