From 27ef680947ac5a9275fb889030f8e662d92f4858 Mon Sep 17 00:00:00 2001 From: Jan Vonka Date: Wed, 5 Sep 2007 09:04:54 +0000 Subject: [PATCH] Fix for MT permissions issue for tenant users - added missing Tenant Service hooks (follow-on to r6399) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@6676 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../permissions/impl/PermissionServiceImpl.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/source/java/org/alfresco/repo/security/permissions/impl/PermissionServiceImpl.java b/source/java/org/alfresco/repo/security/permissions/impl/PermissionServiceImpl.java index 90db9c5712..5bd47bead8 100644 --- a/source/java/org/alfresco/repo/security/permissions/impl/PermissionServiceImpl.java +++ b/source/java/org/alfresco/repo/security/permissions/impl/PermissionServiceImpl.java @@ -472,7 +472,7 @@ public class PermissionServiceImpl implements PermissionServiceSPI, Initializing public void deletePermissions(NodePermissionEntry nodePermissionEntry) { - permissionsDaoComponent.deletePermissions(nodePermissionEntry.getNodeRef()); + permissionsDaoComponent.deletePermissions(tenantService.getName(nodePermissionEntry.getNodeRef())); accessCache.clear(); } @@ -507,12 +507,14 @@ public class PermissionServiceImpl implements PermissionServiceSPI, Initializing public void setPermission(PermissionEntry permissionEntry) { + // TODO - not MT-enabled nodeRef - currently only used by tests permissionsDaoComponent.setPermission(permissionEntry); accessCache.clear(); } public void setPermission(NodePermissionEntry nodePermissionEntry) { + // TODO - not MT-enabled nodeRef- currently only used by tests permissionsDaoComponent.setPermission(nodePermissionEntry); accessCache.clear(); } @@ -565,7 +567,7 @@ public class PermissionServiceImpl implements PermissionServiceSPI, Initializing public Set getSettablePermissionReferences(NodeRef nodeRef) { - return modelDAO.getExposedPermissions(nodeRef); + return modelDAO.getExposedPermissions(tenantService.getName(nodeRef)); } public void deletePermission(NodeRef nodeRef, String authority, String perm) @@ -822,6 +824,8 @@ public class PermissionServiceImpl implements PermissionServiceSPI, Initializing public boolean hasSinglePermission(Set authorisations, NodeRef nodeRef) { + nodeRef = tenantService.getName(nodeRef); + Serializable key = generateKey(authorisations, nodeRef, this.required, CacheType.SINGLE_PERMISSION_GLOBAL); AccessStatus status = accessCache.get(key); @@ -847,6 +851,8 @@ public class PermissionServiceImpl implements PermissionServiceSPI, Initializing public boolean hasSinglePermission(Set authorisations, NodeRef nodeRef, Set> denied) { + nodeRef = tenantService.getName(nodeRef); + // Add any denied permission to the denied list - these can not // then // be used to given authentication.