diff --git a/server/src/com/cloud/template/TemplateManagerImpl.java b/server/src/com/cloud/template/TemplateManagerImpl.java index ea51af18962..294748ff1a6 100755 --- a/server/src/com/cloud/template/TemplateManagerImpl.java +++ b/server/src/com/cloud/template/TemplateManagerImpl.java @@ -1133,7 +1133,7 @@ public class TemplateManagerImpl extends ManagerBase implements TemplateManager, } if (!template.isPublicTemplate()) { - _accountMgr.checkAccess(caller, null, template); + _accountMgr.checkAccess(caller, AccessType.ListEntry, template); } List accountNames = new ArrayList(); diff --git a/server/src/com/cloud/user/AccountManagerImpl.java b/server/src/com/cloud/user/AccountManagerImpl.java index 301dde4fe63..4b781413cc6 100755 --- a/server/src/com/cloud/user/AccountManagerImpl.java +++ b/server/src/com/cloud/user/AccountManagerImpl.java @@ -497,7 +497,7 @@ public class AccountManagerImpl extends ManagerBase implements AccountManager, M && (accessType == null || accessType == AccessType.UseEntry)) { for (ControlledEntity entity : entities) { - if (entity instanceof VirtualMachineTemplate || entity instanceof Network + if (entity instanceof VirtualMachineTemplate || (entity instanceof Network && accessType != null && (isDomainAdmin || isResourceDomainAdmin)) || entity instanceof AffinityGroup || entity instanceof SecurityGroup) { // Go through IAM (SecurityCheckers) for (SecurityChecker checker : _securityCheckers) {