ARTEMIS-5894 Fix RBAC address mismatch between canInvoke and invoke #6232
+601
−54
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The canInvoke method received operation names with parameter signatures (e.g., "deleteAddress(java.lang.String)"), while invoke received them without signatures (e.g., "deleteAddress"). This caused the RBAC address built by canInvoke to differ from the one built by invoke, leading to permission check mismatches that prevented the console from properly hiding unauthorized menu items.
This fix normalizes operation names by stripping parameter signatures before building RBAC addresses in both canInvoke and invoke. Also changes null operation checks to require VIEW instead of EDIT permission, allowing users to see MBeans they have view access to.