Skip to content

Commit 963c0e2

Browse files
authored
[ISSUE #9741] Optimize authorization whitelist lookup efficiency (#9760)
* [ISSUE #9741] Optimize authorization whitelist lookup efficiency * Remove unused import * Fix get authorization metadata provider.
1 parent 8eabe68 commit 963c0e2

1 file changed

Lines changed: 5 additions & 5 deletions

File tree

auth/src/main/java/org/apache/rocketmq/auth/authorization/strategy/AbstractAuthorizationStrategy.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
*/
1717
package org.apache.rocketmq.auth.authorization.strategy;
1818

19-
import java.util.ArrayList;
20-
import java.util.List;
19+
import java.util.HashSet;
20+
import java.util.Set;
2121
import java.util.function.Supplier;
2222
import org.apache.commons.lang3.StringUtils;
2323
import org.apache.rocketmq.auth.authorization.context.AuthorizationContext;
@@ -30,7 +30,7 @@
3030
public abstract class AbstractAuthorizationStrategy implements AuthorizationStrategy {
3131

3232
protected final AuthConfig authConfig;
33-
protected final List<String> authorizationWhitelist = new ArrayList<>();
33+
protected final Set<String> authorizationWhiteSet = new HashSet<>();
3434
protected final AuthorizationProvider<AuthorizationContext> authorizationProvider;
3535

3636
public AbstractAuthorizationStrategy(AuthConfig authConfig, Supplier<?> metadataService) {
@@ -42,7 +42,7 @@ public AbstractAuthorizationStrategy(AuthConfig authConfig, Supplier<?> metadata
4242
if (StringUtils.isNotBlank(authConfig.getAuthorizationWhitelist())) {
4343
String[] whitelist = StringUtils.split(authConfig.getAuthorizationWhitelist(), ",");
4444
for (String rpcCode : whitelist) {
45-
this.authorizationWhitelist.add(StringUtils.trim(rpcCode));
45+
this.authorizationWhiteSet.add(StringUtils.trim(rpcCode));
4646
}
4747
}
4848
}
@@ -57,7 +57,7 @@ public void doEvaluate(AuthorizationContext context) {
5757
if (this.authorizationProvider == null) {
5858
return;
5959
}
60-
if (this.authorizationWhitelist.contains(context.getRpcCode())) {
60+
if (this.authorizationWhiteSet.contains(context.getRpcCode())) {
6161
return;
6262
}
6363
try {

0 commit comments

Comments
 (0)