Class PermissionServiceImpl
- java.lang.Object
-
- org.springframework.extensions.surf.util.AbstractLifecycleBean
-
- org.alfresco.repo.security.permissions.impl.PermissionServiceImpl
-
- All Implemented Interfaces:
java.util.EventListener,PermissionServiceSPI,org.alfresco.service.cmr.security.PermissionService,Extensible,org.springframework.beans.factory.Aware,org.springframework.context.ApplicationContextAware,org.springframework.context.ApplicationListener
- Direct Known Subclasses:
AllowPermissionServiceImpl
public class PermissionServiceImpl extends org.springframework.extensions.surf.util.AbstractLifecycleBean implements PermissionServiceSPI, Extensible
The Alfresco implementation of a permissions service against our APIs for the permissions model and permissions persistence.- Author:
- andyh
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classPermissionServiceImpl.AclTestTest a permission in the context of the new ACL implementation.protected static classPermissionServiceImpl.MutableBooleanprotected classPermissionServiceImpl.NodeTestSupport class to test the permission on a node.protected classPermissionServiceImpl.UnconditionalAclTestIgnores type and aspect requirements on the nodeprotected classPermissionServiceImpl.UnconditionalDeniedAclTestIgnores type and aspect requirements on the node
-
Field Summary
Fields Modifier and Type Field Description protected org.alfresco.repo.cache.SimpleCache<java.io.Serializable,org.alfresco.service.cmr.security.AccessStatus>accessCachea transactionally-safe cache to be injectedprotected AclDAOaclDaoComponentprotected PermissionReferenceallPermissionReferenceprotected booleananyDenyDeniesprotected AuthorityServiceauthorityServiceprotected org.alfresco.service.cmr.dictionary.DictionaryServicedictionaryServiceprotected java.util.List<DynamicAuthority>dynamicAuthoritiesprotected FixedAclUpdaterfixedAclUpdaterprotected ModelDAOmodelDAOprotected org.alfresco.service.cmr.repository.NodeServicenodeServiceprotected OwnableServiceownableServiceprotected PermissionsDaoComponentpermissionsDaoComponentprotected PolicyComponentpolicyComponentprotected org.alfresco.repo.cache.SimpleCache<java.io.Serializable,java.util.Set<java.lang.String>>readersCacheprotected org.alfresco.repo.cache.SimpleCache<java.io.Serializable,java.util.Set<java.lang.String>>readersDeniedCacheprotected org.alfresco.repo.tenant.TenantServicetenantService-
Fields inherited from interface org.alfresco.service.cmr.security.PermissionService
ADD_CHILDREN, ADMINISTRATOR_AUTHORITY, ALL_AUTHORITIES, ALL_PERMISSIONS, ASPECTS, CANCEL_CHECK_OUT, CHANGE_PERMISSIONS, CHECK_IN, CHECK_OUT, CONSUMER, CONTRIBUTOR, COORDINATOR, CREATE_ASSOCIATIONS, CREATE_CHILDREN, DELETE, DELETE_ASSOCIATIONS, DELETE_CHILDREN, DELETE_NODE, EDITOR, EXECUTE, EXECUTE_CONTENT, FULL_CONTROL, GROUP_PREFIX, GUEST_AUTHORITY, LINK_CHILDREN, LOCK, LOCK_OWNER_AUTHORITY, OWNER_AUTHORITY, PROPERTIES, READ, READ_ASSOCIATIONS, READ_CHILDREN, READ_CONTENT, READ_PERMISSIONS, READ_PROPERTIES, ROLE_PREFIX, SET_OWNER, TAKE_OWNERSHIP, UNLOCK, WRITE, WRITE_CONTENT, WRITE_PROPERTIES
-
-
Constructor Summary
Constructors Constructor Description PermissionServiceImpl()Standard spring construction.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected org.alfresco.service.cmr.security.AccessStatusadminRead()voidbeforeDeleteChildAssociation(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef)Cache clear on delete of a child association from an authority container.protected org.alfresco.service.cmr.security.AccessStatuscanRead(java.lang.Long aclId)voidclearPermission(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.lang.String authority)voidclearPermission(org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.String authority)protected org.alfresco.service.cmr.repository.NodeRefconvertVersionNodeRefToVersionedNodeRef(org.alfresco.service.cmr.repository.NodeRef versionNodeRef)Converts specified version nodeRef (eg.voiddeletePermission(PermissionEntry permissionEntry)Delete a single permission entryvoiddeletePermission(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.lang.String authority, java.lang.String perm)protected voiddeletePermission(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.lang.String authority, PermissionReference perm)voiddeletePermission(org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.String authority, java.lang.String perm)protected voiddeletePermission(org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.String authority, PermissionReference perm)voiddeletePermissions(java.lang.String recipient)Delete permissions for the given recipient.voiddeletePermissions(NodePermissionEntry nodePermissionEntry)Delete the permissions defined by the nodePermissionEntryvoiddeletePermissions(org.alfresco.service.cmr.repository.NodeRef nodeRef)voiddeletePermissions(org.alfresco.service.cmr.repository.StoreRef storeRef)NodePermissionEntryexplainPermission(org.alfresco.service.cmr.repository.NodeRef nodeRef, PermissionReference perm)Where is the permission set that controls the behaviour for the given permission for the given authentication to access the specified name.java.lang.StringgetAllAuthorities()java.lang.StringgetAllPermission()PermissionReferencegetAllPermissionReference()Get the All Permissionprotected java.util.Set<org.alfresco.service.cmr.security.AccessPermission>getAllPermissionsImpl(org.alfresco.service.cmr.repository.NodeRef nodeRef, boolean includeTrue, boolean includeFalse)java.util.Set<org.alfresco.service.cmr.security.AccessPermission>getAllSetPermissions(org.alfresco.service.cmr.repository.NodeRef nodeRef)java.util.Set<org.alfresco.service.cmr.security.AccessPermission>getAllSetPermissions(org.alfresco.service.cmr.repository.StoreRef storeRef)booleangetAnyDenyDenies()java.util.Set<java.lang.String>getAuthorisations()protected java.util.Set<java.lang.String>getAuthorisations(net.sf.acegisecurity.Authentication auth, org.alfresco.service.cmr.repository.NodeRef nodeRef, PermissionReference required)Get the authorisations for the currently authenticated userprotected java.util.Set<java.lang.String>getAuthorisations(net.sf.acegisecurity.Authentication auth, org.alfresco.service.cmr.security.PermissionContext context)protected java.util.Set<java.lang.String>getCoreAuthorisations(net.sf.acegisecurity.Authentication auth)Get the core authorisations for thisauth.protected java.util.Set<java.lang.String>getDynamicAuthorities(net.sf.acegisecurity.Authentication auth, org.alfresco.service.cmr.repository.NodeRef nodeRef, PermissionReference required)protected java.util.Set<java.lang.String>getDynamicAuthorities(net.sf.acegisecurity.Authentication auth, org.alfresco.service.cmr.security.PermissionContext context, java.util.Set<java.lang.String> auths)booleangetInheritParentPermissions(org.alfresco.service.cmr.repository.NodeRef nodeRef)java.lang.StringgetOwnerAuthority()java.lang.StringgetPermission(PermissionReference permissionReference)Get the string that can be used to identify the given permission reference.PermissionReferencegetPermissionReference(java.lang.String permissionName)Get the permission reference by permission name.PermissionReferencegetPermissionReference(org.alfresco.service.namespace.QName qname, java.lang.String permissionName)Get the permission reference for the given data type and permission name.java.util.Set<org.alfresco.service.cmr.security.AccessPermission>getPermissions(org.alfresco.service.cmr.repository.NodeRef nodeRef)java.util.Set<java.lang.String>getReaders(java.lang.Long aclId)java.util.Set<java.lang.String>getReadersDenied(java.lang.Long aclId)NodePermissionEntrygetSetPermissions(org.alfresco.service.cmr.repository.NodeRef nodeRef)Get the permissions that have been set on the given node (it knows nothing of the parent permissions)NodePermissionEntrygetSetPermissions(org.alfresco.service.cmr.repository.StoreRef storeRef)Get the permissions set for the storejava.util.Set<PermissionReference>getSettablePermissionReferences(org.alfresco.service.cmr.repository.NodeRef nodeRef)Get the permissions that can be set for a given typejava.util.Set<PermissionReference>getSettablePermissionReferences(org.alfresco.service.namespace.QName type)Get the permissions that can be set for a given typejava.util.Set<java.lang.String>getSettablePermissions(org.alfresco.service.cmr.repository.NodeRef nodeRef)java.util.Set<java.lang.String>getSettablePermissions(org.alfresco.service.namespace.QName type)<M extends Trait>
ExtendedTrait<M>getTrait(java.lang.Class<? extends M> traitAPI)org.alfresco.service.cmr.security.AccessStatushasPermission(java.lang.Long aclID, org.alfresco.service.cmr.security.PermissionContext context, java.lang.String permission)protected org.alfresco.service.cmr.security.AccessStatushasPermission(java.lang.Long aclId, org.alfresco.service.cmr.security.PermissionContext context, PermissionReference permission)org.alfresco.service.cmr.security.AccessStatushasPermission(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.lang.String perm)org.alfresco.service.cmr.security.AccessStatushasPermission(org.alfresco.service.cmr.repository.NodeRef passedNodeRef, PermissionReference permIn)Check that the given authentication has a particular permission for the given node.org.alfresco.service.cmr.security.AccessStatushasReadPermission(org.alfresco.service.cmr.repository.NodeRef nodeRef)Optimised read permission evaluation caveats: doesn't take into account dynamic authorities/groups doesn't take into account node types/aspects for permissionsvoidinit()protected booleanisVersionNodeRef(org.alfresco.service.cmr.repository.NodeRef nodeRef)This methods checks whether the specified nodeRef instance is a version nodeRef (ie.protected voidonBootstrap(org.springframework.context.ApplicationEvent event)voidonCreateChildAssociation(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef)Cache clear on create of a child association from an authority container.voidonMoveNode(org.alfresco.service.cmr.repository.ChildAssociationRef oldChildAssocRef, org.alfresco.service.cmr.repository.ChildAssociationRef newChildAssocRef)Cache clear on move nodeprotected voidonShutdown(org.springframework.context.ApplicationEvent event)No-opprotected org.alfresco.service.cmr.security.AccessStatusownerRead(java.lang.String username, org.alfresco.service.cmr.repository.NodeRef nodeRef)voidsetAccessCache(org.alfresco.repo.cache.SimpleCache<java.io.Serializable,org.alfresco.service.cmr.security.AccessStatus> accessCache)Set the permissions access cache.voidsetAclDAO(AclDAO aclDaoComponent)Set the ACL DAO component.voidsetAnyDenyDenies(boolean anyDenyDenies)voidsetAuthorityService(AuthorityService authorityService)Set the authority service.voidsetDictionaryService(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)Set the dictionary servicevoidsetDynamicAuthorities(java.util.List<DynamicAuthority> dynamicAuthorities)Set the dynamic authoritiesvoidsetFixedAclUpdater(FixedAclUpdater fixedAclUpdater)voidsetInheritParentPermissions(org.alfresco.service.cmr.repository.NodeRef nodeRef, boolean inheritParentPermissions)voidsetInheritParentPermissions(org.alfresco.service.cmr.repository.NodeRef nodeRef, boolean inheritParentPermissions, boolean asyncCall)voidsetModelDAO(ModelDAO modelDAO)Set the permissions model daovoidsetNodeService(org.alfresco.service.cmr.repository.NodeService nodeService)Set the node service.voidsetOwnableService(OwnableService ownableService)Set the ownable service.voidsetPermission(NodePermissionEntry nodePermissionEntry)Set the permissions on a node.voidsetPermission(PermissionEntry permissionEntry)Add or set a permission entry on a node.voidsetPermission(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.lang.String authority, java.lang.String perm, boolean allow)protected voidsetPermission(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.lang.String authority, PermissionReference perm, boolean allow)voidsetPermission(org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.String authority, java.lang.String perm, boolean allow)protected voidsetPermission(org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.String authority, PermissionReference permission, boolean allow)voidsetPermissionsDaoComponent(PermissionsDaoComponent permissionsDaoComponent)Set the permissions dao componentvoidsetPolicyComponent(PolicyComponent policyComponent)Set the policy componentvoidsetPolicyIgnoreUtil(PolicyIgnoreUtil policyIgnoreUtil)voidsetReadersCache(org.alfresco.repo.cache.SimpleCache<java.io.Serializable,java.util.Set<java.lang.String>> readersCache)voidsetReadersDeniedCache(org.alfresco.repo.cache.SimpleCache<java.io.Serializable,java.util.Set<java.lang.String>> readersDeniedCache)voidsetTenantService(org.alfresco.repo.tenant.TenantService tenantService)Set the tenant service.
-
-
-
Field Detail
-
accessCache
protected org.alfresco.repo.cache.SimpleCache<java.io.Serializable,org.alfresco.service.cmr.security.AccessStatus> accessCache
a transactionally-safe cache to be injected
-
readersCache
protected org.alfresco.repo.cache.SimpleCache<java.io.Serializable,java.util.Set<java.lang.String>> readersCache
-
readersDeniedCache
protected org.alfresco.repo.cache.SimpleCache<java.io.Serializable,java.util.Set<java.lang.String>> readersDeniedCache
-
modelDAO
protected ModelDAO modelDAO
-
permissionsDaoComponent
protected PermissionsDaoComponent permissionsDaoComponent
-
nodeService
protected org.alfresco.service.cmr.repository.NodeService nodeService
-
tenantService
protected org.alfresco.repo.tenant.TenantService tenantService
-
dictionaryService
protected org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService
-
ownableService
protected OwnableService ownableService
-
authorityService
protected AuthorityService authorityService
-
dynamicAuthorities
protected java.util.List<DynamicAuthority> dynamicAuthorities
-
policyComponent
protected PolicyComponent policyComponent
-
aclDaoComponent
protected AclDAO aclDaoComponent
-
allPermissionReference
protected PermissionReference allPermissionReference
-
fixedAclUpdater
protected FixedAclUpdater fixedAclUpdater
-
anyDenyDenies
protected boolean anyDenyDenies
-
-
Method Detail
-
setDictionaryService
public void setDictionaryService(org.alfresco.service.cmr.dictionary.DictionaryService dictionaryService)
Set the dictionary service- Parameters:
dictionaryService- DictionaryService
-
setAnyDenyDenies
public void setAnyDenyDenies(boolean anyDenyDenies)
- Parameters:
anyDenyDenies- the anyDenyDenies to set
-
getAnyDenyDenies
public boolean getAnyDenyDenies()
-
setModelDAO
public void setModelDAO(ModelDAO modelDAO)
Set the permissions model dao- Parameters:
modelDAO- ModelDAO
-
setNodeService
public void setNodeService(org.alfresco.service.cmr.repository.NodeService nodeService)
Set the node service.- Parameters:
nodeService- NodeService
-
setOwnableService
public void setOwnableService(OwnableService ownableService)
Set the ownable service.- Parameters:
ownableService- OwnableService
-
setTenantService
public void setTenantService(org.alfresco.repo.tenant.TenantService tenantService)
Set the tenant service.- Parameters:
tenantService- TenantService
-
setPermissionsDaoComponent
public void setPermissionsDaoComponent(PermissionsDaoComponent permissionsDaoComponent)
Set the permissions dao component- Parameters:
permissionsDaoComponent- PermissionsDaoComponent
-
setAuthorityService
public void setAuthorityService(AuthorityService authorityService)
Set the authority service.- Parameters:
authorityService- AuthorityService
-
setDynamicAuthorities
public void setDynamicAuthorities(java.util.List<DynamicAuthority> dynamicAuthorities)
Set the dynamic authorities
-
setAclDAO
public void setAclDAO(AclDAO aclDaoComponent)
Set the ACL DAO component.- Parameters:
aclDaoComponent- AclDAO
-
setFixedAclUpdater
public void setFixedAclUpdater(FixedAclUpdater fixedAclUpdater)
-
setAccessCache
public void setAccessCache(org.alfresco.repo.cache.SimpleCache<java.io.Serializable,org.alfresco.service.cmr.security.AccessStatus> accessCache)
Set the permissions access cache.- Parameters:
accessCache- a transactionally safe cache
-
setReadersCache
public void setReadersCache(org.alfresco.repo.cache.SimpleCache<java.io.Serializable,java.util.Set<java.lang.String>> readersCache)
- Parameters:
readersCache- the readersCache to set
-
setReadersDeniedCache
public void setReadersDeniedCache(org.alfresco.repo.cache.SimpleCache<java.io.Serializable,java.util.Set<java.lang.String>> readersDeniedCache)
- Parameters:
readersDeniedCache- the readersDeniedCache to set
-
setPolicyComponent
public void setPolicyComponent(PolicyComponent policyComponent)
Set the policy component- Parameters:
policyComponent- PolicyComponent
-
setPolicyIgnoreUtil
public void setPolicyIgnoreUtil(PolicyIgnoreUtil policyIgnoreUtil)
-
onMoveNode
public void onMoveNode(org.alfresco.service.cmr.repository.ChildAssociationRef oldChildAssocRef, org.alfresco.service.cmr.repository.ChildAssociationRef newChildAssocRef)Cache clear on move node- Parameters:
oldChildAssocRef- ChildAssociationRefnewChildAssocRef- ChildAssociationRef
-
onCreateChildAssociation
public void onCreateChildAssociation(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef)
Cache clear on create of a child association from an authority container.- Parameters:
childAssocRef- ChildAssociationRef
-
beforeDeleteChildAssociation
public void beforeDeleteChildAssociation(org.alfresco.service.cmr.repository.ChildAssociationRef childAssocRef)
Cache clear on delete of a child association from an authority container.- Parameters:
childAssocRef- ChildAssociationRef
-
onBootstrap
protected void onBootstrap(org.springframework.context.ApplicationEvent event)
- Specified by:
onBootstrapin classorg.springframework.extensions.surf.util.AbstractLifecycleBean
-
onShutdown
protected void onShutdown(org.springframework.context.ApplicationEvent event)
No-op- Specified by:
onShutdownin classorg.springframework.extensions.surf.util.AbstractLifecycleBean
-
init
public void init()
-
getOwnerAuthority
public java.lang.String getOwnerAuthority()
- Specified by:
getOwnerAuthorityin interfaceorg.alfresco.service.cmr.security.PermissionService
-
getAllAuthorities
public java.lang.String getAllAuthorities()
- Specified by:
getAllAuthoritiesin interfaceorg.alfresco.service.cmr.security.PermissionService
-
getAllPermission
public java.lang.String getAllPermission()
- Specified by:
getAllPermissionin interfaceorg.alfresco.service.cmr.security.PermissionService
-
getPermissions
public java.util.Set<org.alfresco.service.cmr.security.AccessPermission> getPermissions(org.alfresco.service.cmr.repository.NodeRef nodeRef)
- Specified by:
getPermissionsin interfaceorg.alfresco.service.cmr.security.PermissionService
-
getAllSetPermissions
public java.util.Set<org.alfresco.service.cmr.security.AccessPermission> getAllSetPermissions(org.alfresco.service.cmr.repository.NodeRef nodeRef)
- Specified by:
getAllSetPermissionsin interfaceorg.alfresco.service.cmr.security.PermissionService
-
getAllSetPermissions
public java.util.Set<org.alfresco.service.cmr.security.AccessPermission> getAllSetPermissions(org.alfresco.service.cmr.repository.StoreRef storeRef)
- Specified by:
getAllSetPermissionsin interfaceorg.alfresco.service.cmr.security.PermissionService
-
getAllPermissionsImpl
protected java.util.Set<org.alfresco.service.cmr.security.AccessPermission> getAllPermissionsImpl(org.alfresco.service.cmr.repository.NodeRef nodeRef, boolean includeTrue, boolean includeFalse)
-
getSettablePermissions
public java.util.Set<java.lang.String> getSettablePermissions(org.alfresco.service.cmr.repository.NodeRef nodeRef)
- Specified by:
getSettablePermissionsin interfaceorg.alfresco.service.cmr.security.PermissionService
-
getSettablePermissions
public java.util.Set<java.lang.String> getSettablePermissions(org.alfresco.service.namespace.QName type)
- Specified by:
getSettablePermissionsin interfaceorg.alfresco.service.cmr.security.PermissionService
-
getSetPermissions
public NodePermissionEntry getSetPermissions(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Description copied from interface:PermissionServiceSPIGet the permissions that have been set on the given node (it knows nothing of the parent permissions)- Specified by:
getSetPermissionsin interfacePermissionServiceSPI- Parameters:
nodeRef- NodeRef- Returns:
- the node permission entry
-
getSetPermissions
public NodePermissionEntry getSetPermissions(org.alfresco.service.cmr.repository.StoreRef storeRef)
Description copied from interface:PermissionServiceSPIGet the permissions set for the store- Specified by:
getSetPermissionsin interfacePermissionServiceSPI- Parameters:
storeRef- StoreRef- Returns:
- - the node permission entry
-
hasPermission
public org.alfresco.service.cmr.security.AccessStatus hasPermission(org.alfresco.service.cmr.repository.NodeRef passedNodeRef, PermissionReference permIn)Description copied from interface:PermissionServiceSPICheck that the given authentication has a particular permission for the given node. (The default behaviour is to inherit permissions)- Specified by:
hasPermissionin interfacePermissionServiceSPI- Parameters:
passedNodeRef- NodeRefpermIn- PermissionReference- Returns:
- the access status
-
hasPermission
public org.alfresco.service.cmr.security.AccessStatus hasPermission(java.lang.Long aclID, org.alfresco.service.cmr.security.PermissionContext context, java.lang.String permission)- Specified by:
hasPermissionin interfaceorg.alfresco.service.cmr.security.PermissionService
-
hasPermission
protected org.alfresco.service.cmr.security.AccessStatus hasPermission(java.lang.Long aclId, org.alfresco.service.cmr.security.PermissionContext context, PermissionReference permission)
-
getCoreAuthorisations
protected java.util.Set<java.lang.String> getCoreAuthorisations(net.sf.acegisecurity.Authentication auth)
Get the core authorisations for thisauth. Ifnullthis will be an empty set. Otherwise it will be a Lazy loaded Set of authorities from the authority node structure PLUS any granted authorities.
-
getAuthorisations
protected java.util.Set<java.lang.String> getAuthorisations(net.sf.acegisecurity.Authentication auth, org.alfresco.service.cmr.repository.NodeRef nodeRef, PermissionReference required)Get the authorisations for the currently authenticated user- Parameters:
auth- AuthenticationnodeRef- NodeRefrequired- PermissionReference- Returns:
- the set of authorisations
-
getDynamicAuthorities
protected java.util.Set<java.lang.String> getDynamicAuthorities(net.sf.acegisecurity.Authentication auth, org.alfresco.service.cmr.repository.NodeRef nodeRef, PermissionReference required)
-
getAuthorisations
protected java.util.Set<java.lang.String> getAuthorisations(net.sf.acegisecurity.Authentication auth, org.alfresco.service.cmr.security.PermissionContext context)
-
getDynamicAuthorities
protected java.util.Set<java.lang.String> getDynamicAuthorities(net.sf.acegisecurity.Authentication auth, org.alfresco.service.cmr.security.PermissionContext context, java.util.Set<java.lang.String> auths)
-
explainPermission
public NodePermissionEntry explainPermission(org.alfresco.service.cmr.repository.NodeRef nodeRef, PermissionReference perm)
Description copied from interface:PermissionServiceSPIWhere is the permission set that controls the behaviour for the given permission for the given authentication to access the specified name.- Specified by:
explainPermissionin interfacePermissionServiceSPI- Parameters:
nodeRef- NodeRefperm- PermissionReference- Returns:
- the node permission entry
-
clearPermission
public void clearPermission(org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.String authority)- Specified by:
clearPermissionin interfaceorg.alfresco.service.cmr.security.PermissionService
-
deletePermission
public void deletePermission(org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.String authority, java.lang.String perm)- Specified by:
deletePermissionin interfaceorg.alfresco.service.cmr.security.PermissionService
-
deletePermission
protected void deletePermission(org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.String authority, PermissionReference perm)
-
deletePermissions
public void deletePermissions(org.alfresco.service.cmr.repository.StoreRef storeRef)
- Specified by:
deletePermissionsin interfaceorg.alfresco.service.cmr.security.PermissionService
-
setPermission
public void setPermission(org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.String authority, java.lang.String perm, boolean allow)- Specified by:
setPermissionin interfaceorg.alfresco.service.cmr.security.PermissionService
-
setPermission
protected void setPermission(org.alfresco.service.cmr.repository.StoreRef storeRef, java.lang.String authority, PermissionReference permission, boolean allow)
-
deletePermissions
public void deletePermissions(org.alfresco.service.cmr.repository.NodeRef nodeRef)
- Specified by:
deletePermissionsin interfaceorg.alfresco.service.cmr.security.PermissionService
-
deletePermissions
public void deletePermissions(NodePermissionEntry nodePermissionEntry)
Description copied from interface:PermissionServiceSPIDelete the permissions defined by the nodePermissionEntry- Specified by:
deletePermissionsin interfacePermissionServiceSPI- Parameters:
nodePermissionEntry- NodePermissionEntry
-
deletePermission
public void deletePermission(PermissionEntry permissionEntry)
Description copied from interface:PermissionServiceSPIDelete a single permission entry- Specified by:
deletePermissionin interfacePermissionServiceSPI- Parameters:
permissionEntry- PermissionEntry- See Also:
deletePermission(NodeRef, String, PermissionReference)
-
deletePermission
protected void deletePermission(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.lang.String authority, PermissionReference perm)
-
clearPermission
public void clearPermission(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.lang.String authority)- Specified by:
clearPermissionin interfaceorg.alfresco.service.cmr.security.PermissionService
-
setPermission
protected void setPermission(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.lang.String authority, PermissionReference perm, boolean allow)
-
setPermission
public void setPermission(PermissionEntry permissionEntry)
Description copied from interface:PermissionServiceSPIAdd or set a permission entry on a node.- Specified by:
setPermissionin interfacePermissionServiceSPI- Parameters:
permissionEntry- PermissionEntry
-
setPermission
public void setPermission(NodePermissionEntry nodePermissionEntry)
Description copied from interface:PermissionServiceSPISet the permissions on a node.- Specified by:
setPermissionin interfacePermissionServiceSPI- Parameters:
nodePermissionEntry- NodePermissionEntry
-
setInheritParentPermissions
public void setInheritParentPermissions(org.alfresco.service.cmr.repository.NodeRef nodeRef, boolean inheritParentPermissions)- Specified by:
setInheritParentPermissionsin interfaceorg.alfresco.service.cmr.security.PermissionService
-
setInheritParentPermissions
public void setInheritParentPermissions(org.alfresco.service.cmr.repository.NodeRef nodeRef, boolean inheritParentPermissions, boolean asyncCall)- Specified by:
setInheritParentPermissionsin interfaceorg.alfresco.service.cmr.security.PermissionService
-
getInheritParentPermissions
public boolean getInheritParentPermissions(org.alfresco.service.cmr.repository.NodeRef nodeRef)
- Specified by:
getInheritParentPermissionsin interfaceorg.alfresco.service.cmr.security.PermissionService- See Also:
PermissionService.getInheritParentPermissions(org.alfresco.service.cmr.repository.NodeRef)
-
getPermissionReference
public PermissionReference getPermissionReference(org.alfresco.service.namespace.QName qname, java.lang.String permissionName)
Description copied from interface:PermissionServiceSPIGet the permission reference for the given data type and permission name.- Specified by:
getPermissionReferencein interfacePermissionServiceSPI- Parameters:
qname- - may be null if the permission name is uniquepermissionName- String- Returns:
- the permission reference
-
getAllPermissionReference
public PermissionReference getAllPermissionReference()
Description copied from interface:PermissionServiceSPIGet the All Permission- Specified by:
getAllPermissionReferencein interfacePermissionServiceSPI- Returns:
- the All permission
-
getPermission
public java.lang.String getPermission(PermissionReference permissionReference)
Description copied from interface:PermissionServiceSPIGet the string that can be used to identify the given permission reference.- Specified by:
getPermissionin interfacePermissionServiceSPI- Parameters:
permissionReference- PermissionReference- Returns:
- the permission short name
-
getPermissionReference
public PermissionReference getPermissionReference(java.lang.String permissionName)
Description copied from interface:PermissionServiceSPIGet the permission reference by permission name.- Specified by:
getPermissionReferencein interfacePermissionServiceSPI- Parameters:
permissionName- String- Returns:
- the permission reference
-
getSettablePermissionReferences
public java.util.Set<PermissionReference> getSettablePermissionReferences(org.alfresco.service.namespace.QName type)
Description copied from interface:PermissionServiceSPIGet the permissions that can be set for a given type- Specified by:
getSettablePermissionReferencesin interfacePermissionServiceSPI- Parameters:
type- QName- Returns:
- the set of permissions
-
getSettablePermissionReferences
public java.util.Set<PermissionReference> getSettablePermissionReferences(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Description copied from interface:PermissionServiceSPIGet the permissions that can be set for a given type- Specified by:
getSettablePermissionReferencesin interfacePermissionServiceSPI- Parameters:
nodeRef- NodeRef- Returns:
- the set of permissions
-
deletePermission
public void deletePermission(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.lang.String authority, java.lang.String perm)- Specified by:
deletePermissionin interfaceorg.alfresco.service.cmr.security.PermissionService
-
hasPermission
public org.alfresco.service.cmr.security.AccessStatus hasPermission(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.lang.String perm)- Specified by:
hasPermissionin interfaceorg.alfresco.service.cmr.security.PermissionService
-
setPermission
public void setPermission(org.alfresco.service.cmr.repository.NodeRef nodeRef, java.lang.String authority, java.lang.String perm, boolean allow)- Specified by:
setPermissionin interfaceorg.alfresco.service.cmr.security.PermissionService
-
deletePermissions
public void deletePermissions(java.lang.String recipient)
Description copied from interface:PermissionServiceSPIDelete permissions for the given recipient.- Specified by:
deletePermissionsin interfacePermissionServiceSPI- Parameters:
recipient- String
-
hasReadPermission
public org.alfresco.service.cmr.security.AccessStatus hasReadPermission(org.alfresco.service.cmr.repository.NodeRef nodeRef)
Optimised read permission evaluation caveats: doesn't take into account dynamic authorities/groups doesn't take into account node types/aspects for permissions- Specified by:
hasReadPermissionin interfaceorg.alfresco.service.cmr.security.PermissionService
-
adminRead
protected org.alfresco.service.cmr.security.AccessStatus adminRead()
-
ownerRead
protected org.alfresco.service.cmr.security.AccessStatus ownerRead(java.lang.String username, org.alfresco.service.cmr.repository.NodeRef nodeRef)
-
getReaders
public java.util.Set<java.lang.String> getReaders(java.lang.Long aclId)
- Specified by:
getReadersin interfaceorg.alfresco.service.cmr.security.PermissionService
-
getReadersDenied
public java.util.Set<java.lang.String> getReadersDenied(java.lang.Long aclId)
- Specified by:
getReadersDeniedin interfaceorg.alfresco.service.cmr.security.PermissionService- Parameters:
aclId- Long- Returns:
- set of authorities denied permission on the ACL
-
canRead
protected org.alfresco.service.cmr.security.AccessStatus canRead(java.lang.Long aclId)
-
isVersionNodeRef
protected boolean isVersionNodeRef(org.alfresco.service.cmr.repository.NodeRef nodeRef)
This methods checks whether the specified nodeRef instance is a version nodeRef (ie. in the 'version' store)- Parameters:
nodeRef- - version nodeRef- Returns:
- true if version nodeRef false otherwise
-
convertVersionNodeRefToVersionedNodeRef
protected org.alfresco.service.cmr.repository.NodeRef convertVersionNodeRefToVersionedNodeRef(org.alfresco.service.cmr.repository.NodeRef versionNodeRef)
Converts specified version nodeRef (eg. versionStore://...) to versioned nodeRef (eg. workspace://SpacesStore/...)- Parameters:
versionNodeRef- - always version nodeRef (ie. in the 'version' store)- Returns:
- versioned nodeRef (ie.in the 'live' store)
-
getAuthorisations
public java.util.Set<java.lang.String> getAuthorisations()
- Specified by:
getAuthorisationsin interfaceorg.alfresco.service.cmr.security.PermissionService
-
getTrait
public <M extends Trait> ExtendedTrait<M> getTrait(java.lang.Class<? extends M> traitAPI)
- Specified by:
getTraitin interfaceExtensible
-
-