DaanHoogland commented on code in PR #6412:
URL: https://github.com/apache/cloudstack/pull/6412#discussion_r888803787
##########
plugins/acl/dynamic-role-based/src/main/java/org/apache/cloudstack/acl/DynamicRoleBasedAPIAccessChecker.java:
##########
@@ -81,37 +115,35 @@ public boolean checkAccess(User user, String commandName)
throws PermissionDenie
public boolean checkAccess(Account account, String commandName) {
final Role accountRole = roleService.findRole(account.getRoleId());
if (accountRole == null || accountRole.getId() < 1L) {
- denyApiAccess(commandName);
+ throw new PermissionDeniedException(String.format("The account
[%s] has role null or unknown.",
+
ReflectionToStringBuilderUtils.reflectOnlySelectedFields(account,
"accountName", "uuid")));
}
- // Allow all APIs for root admins
if (accountRole.getRoleType() == RoleType.Admin && accountRole.getId()
== RoleType.Admin.getId()) {
+ LOGGER.info(String.format("Account [%s] is Root Admin or Domain
Admin, all APIs are allowed.",
+
ReflectionToStringBuilderUtils.reflectOnlySelectedFields(account,
"accountName", "uuid")));
Review Comment:
this line happens three times, can we extract it as a convenience method?
i.e.
```
String accountlogString(Account account) {
return
ReflectionToStringBuilderUtils.reflectOnlySelectedFields(account,
"accountName", "uuid");
}
```
and then
```suggestion
accountlogString(account)));
```
--
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]