diff --git a/source/java/org/alfresco/repo/security/authority/AuthorityDAOImpl.java b/source/java/org/alfresco/repo/security/authority/AuthorityDAOImpl.java index 08c246f524..a095063d3f 100644 --- a/source/java/org/alfresco/repo/security/authority/AuthorityDAOImpl.java +++ b/source/java/org/alfresco/repo/security/authority/AuthorityDAOImpl.java @@ -1026,7 +1026,7 @@ public class AuthorityDAOImpl implements AuthorityDAO, NodeServicePolicies.Befor } } - private NodeRef getAuthorityOrNull(String name) + private NodeRef getAuthorityOrNull(final String name) { try { @@ -1034,13 +1034,9 @@ public class AuthorityDAOImpl implements AuthorityDAO, NodeServicePolicies.Befor { return personService.getPerson(name, false); } - else if (AuthorityType.getAuthorityType(name).equals(AuthorityType.GUEST)) + else if (AuthorityType.getAuthorityType(name).equals(AuthorityType.GUEST) || AuthorityType.getAuthorityType(name).equals(AuthorityType.ADMIN)) { - return personService.getPerson(name, false); - } - else if (AuthorityType.getAuthorityType(name).equals(AuthorityType.ADMIN)) - { - return personService.getPerson(name, false); + return null; } else { diff --git a/source/java/org/alfresco/repo/security/authority/AuthorityServiceImpl.java b/source/java/org/alfresco/repo/security/authority/AuthorityServiceImpl.java index d732b13853..3beb8fac9b 100644 --- a/source/java/org/alfresco/repo/security/authority/AuthorityServiceImpl.java +++ b/source/java/org/alfresco/repo/security/authority/AuthorityServiceImpl.java @@ -199,7 +199,7 @@ public class AuthorityServiceImpl implements AuthorityService, InitializingBean canonicalName = authorityName; } - // Determine whether the administrator role is mapped to this user or one of their groups + // Determine whether the guest role is mapped to this user or one of their groups return getAuthoritiesForUser(canonicalName).contains(PermissionService.GUEST_AUTHORITY); } @@ -286,18 +286,20 @@ public class AuthorityServiceImpl implements AuthorityService, InitializingBean tenantService.getBaseNameUser(currentUserName).equalsIgnoreCase(AuthenticationUtil.getGuestUserName())) { isGuestUser = true; - } // Check if any of the user's groups are listed as guest groups if (!isAdminUser && !isGuestUser) { - for (String authority : guestGroups) + if (guestGroups.size() != 0) { - if (hasAuthority(currentUserName, authority) || hasAuthority(currentUserName, tenantService.getBaseNameUser(authority))) + for (String authority : guestGroups) { - isGuestUser = true; - break; + if (hasAuthority(currentUserName, authority) || hasAuthority(currentUserName, tenantService.getBaseNameUser(authority))) + { + isGuestUser = true; + break; + } } } } @@ -310,7 +312,7 @@ public class AuthorityServiceImpl implements AuthorityService, InitializingBean // Give all non-guest users the ALL authorities if (!isGuestUser) { - authorities.addAll(allSet); + authorities.addAll(allSet); } else {