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

   ## What is the purpose of the change
   
   Prevent ordinary plain-access configuration saves from silently replacing 
existing ACL rules that the plain-access form cannot represent.
   
   ## Brief changelog
   
   - Inspect and lock existing rules for the principal before modifying the 
account or replacing its rules. Reject the save with a conflict when a rule has 
an unsupported decision, scope, version, resource pattern, or other 
unrepresentable shape.
   - Add repository regressions for rejected rules and preserve existing 
duplicate-account conflict checks.
   
   ## Verifying this change
   
   - Before the change, 
`MybatisPlusAclRepositoryTest#plainAccessUpdateMustNotOverwriteDenyRulesTest` 
failed because the save did not reject the existing rule.
   - With JDK 22, `mvn -B -ntp -Drat.skip=true 
-Dtest=MybatisPlusAclRepositoryTest,AclServiceTest,AclControllerTest test` 
passed: 171 tests, zero failures and zero Checkstyle violations.
   - `git diff --check` passed.
   
   This is a partial safeguard. Concurrent inserts or modifications by other 
writers and stale submitted forms are not fully serialized by this check; the 
tests use mocks and do not establish multi-connection database isolation. 
Saving is intentionally rejected when existing rules cannot be represented, 
including edits to unrelated account fields. Existing stored rules are not 
migrated.
   


-- 
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