[ISSUE #7929] Add some request codes to the permission verification for the admin role (#7930)

* Add some request codes to the permission verification for the admin role

* Fix UT can not pass
This commit is contained in:
rongtong
2024-03-18 13:56:24 +08:00
committed by GitHub
parent 9ab37b9854
commit e656f91da5
2 changed files with 18 additions and 5 deletions
@@ -43,6 +43,14 @@ public class Permission {
ADMIN_CODE.add(RequestCode.UPDATE_AND_CREATE_SUBSCRIPTIONGROUP);
// DELETE_SUBSCRIPTIONGROUP
ADMIN_CODE.add(RequestCode.DELETE_SUBSCRIPTIONGROUP);
// UPDATE_AND_CREATE_STATIC_TOPIC
ADMIN_CODE.add(RequestCode.UPDATE_AND_CREATE_STATIC_TOPIC);
// UPDATE_AND_CREATE_ACL_CONFIG
ADMIN_CODE.add(RequestCode.UPDATE_AND_CREATE_ACL_CONFIG);
// DELETE_ACL_CONFIG
ADMIN_CODE.add(RequestCode.DELETE_ACL_CONFIG);
// GET_BROKER_CLUSTER_ACL_INFO
ADMIN_CODE.add(RequestCode.GET_BROKER_CLUSTER_ACL_INFO);
}
public static boolean checkPermission(byte neededPerm, byte ownedPerm) {
@@ -23,6 +23,7 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import org.apache.rocketmq.acl.plain.PlainAccessResource;
import org.apache.rocketmq.remoting.protocol.RequestCode;
import org.junit.Assert;
import org.junit.Test;
@@ -141,11 +142,15 @@ public class PermissionTest {
@Test
public void checkAdminCodeTest() {
Set<Integer> code = new HashSet<>();
code.add(17);
code.add(25);
code.add(215);
code.add(200);
code.add(207);
code.add(RequestCode.UPDATE_AND_CREATE_TOPIC);
code.add(RequestCode.UPDATE_BROKER_CONFIG);
code.add(RequestCode.DELETE_TOPIC_IN_BROKER);
code.add(RequestCode.UPDATE_AND_CREATE_SUBSCRIPTIONGROUP);
code.add(RequestCode.DELETE_SUBSCRIPTIONGROUP);
code.add(RequestCode.UPDATE_AND_CREATE_STATIC_TOPIC);
code.add(RequestCode.UPDATE_AND_CREATE_ACL_CONFIG);
code.add(RequestCode.DELETE_ACL_CONFIG);
code.add(RequestCode.GET_BROKER_CLUSTER_ACL_INFO);
for (int i = 0; i < 400; i++) {
boolean boo = Permission.needAdminPerm(i);