Aias00 opened a new pull request, #4162:
URL: https://github.com/apache/rocketmq-dashboard/pull/4162

   Fixes #4161.
   
   ## Problem
   
   Studio maps each Tencent Cloud RocketMQ role to both an ACL user and a 
cluster-wide ACL rule. The two resources have separate delete actions, but the 
rule deletion path called Tencent Cloud `DeleteRole`, exactly like user 
deletion. Deleting a rule therefore also removed the role account and its 
access credentials.
   
   Roles with both `PermRead` and `PermWrite` disabled were also returned as 
ACL rules with an empty action list.
   
   ## Changes
   
   - Change `TencentAclService.deleteRule` to call `ModifyRole` with 
`PermRead=false` and `PermWrite=false`.
   - Exclude permissionless roles from `listRules`, while leaving them visible 
in the ACL user list.
   - Keep explicit ACL user deletion on `DeleteRole`.
   - Add regression coverage for all three behavior boundaries.
   
   ## Testing
   
   The two new behavior tests failed against the base commit:
   
   - rule deletion invoked `DeleteRole` instead of `ModifyRole`;
   - the rule list included a role with neither permission.
   
   After the fix:
   
   ```text
   mvn -B test -Dtest='TencentAclServiceTest,AclServiceTest'
   Tests run: 79, Failures: 0, Errors: 0, Skipped: 0
   BUILD SUCCESS
   Checkstyle violations: 0
   ```
   
   Tests were run with Java 21.
   
   ## Compatibility
   
   This is limited to the Tencent ACL provider. It does not change REST 
contracts, persistence, frontend code, or other vendors. Existing Tencent role 
accounts remain intact when their mapped rule is deleted; the separate user 
deletion action remains destructive by design.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to