public class PermissionServiceImpl extends org.springframework.extensions.surf.util.AbstractLifecycleBean implements PermissionServiceSPI, Extensible
| Modifier and Type | Class and Description |
|---|---|
protected class |
PermissionServiceImpl.AclTest
Test a permission in the context of the new ACL implementation.
|
protected static class |
PermissionServiceImpl.MutableBoolean |
protected class |
PermissionServiceImpl.NodeTest
Support class to test the permission on a node.
|
protected class |
PermissionServiceImpl.UnconditionalAclTest
Ignores type and aspect requirements on the node
|
protected class |
PermissionServiceImpl.UnconditionalDeniedAclTest
Ignores type and aspect requirements on the node
|
| Modifier and Type | Field and Description |
|---|---|
protected SimpleCache<Serializable,AccessStatus> |
accessCache
a transactionally-safe cache to be injected
|
protected AclDAO |
aclDaoComponent |
protected PermissionReference |
allPermissionReference |
protected boolean |
anyDenyDenies |
protected AuthorityService |
authorityService |
protected DictionaryService |
dictionaryService |
protected List<DynamicAuthority> |
dynamicAuthorities |
protected FixedAclUpdater |
fixedAclUpdater |
protected ModelDAO |
modelDAO |
protected NodeService |
nodeService |
protected OwnableService |
ownableService |
protected PermissionsDaoComponent |
permissionsDaoComponent |
protected PolicyComponent |
policyComponent |
protected SimpleCache<Serializable,Set<String>> |
readersCache |
protected SimpleCache<Serializable,Set<String>> |
readersDeniedCache |
protected TenantService |
tenantService |
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 and Description |
|---|
PermissionServiceImpl()
Standard spring construction.
|
| Modifier and Type | Method and Description |
|---|---|
protected AccessStatus |
adminRead() |
void |
beforeDeleteChildAssociation(ChildAssociationRef childAssocRef)
Cache clear on delete of a child association from an authority container.
|
protected AccessStatus |
canRead(Long aclId) |
void |
clearPermission(NodeRef nodeRef,
String authority) |
void |
clearPermission(StoreRef storeRef,
String authority) |
protected NodeRef |
convertVersionNodeRefToVersionedNodeRef(NodeRef versionNodeRef)
Converts specified version nodeRef (eg.
|
protected void |
deletePermission(NodeRef nodeRef,
String authority,
PermissionReference perm) |
void |
deletePermission(NodeRef nodeRef,
String authority,
String perm) |
void |
deletePermission(PermissionEntry permissionEntry)
Delete a single permission entry
|
protected void |
deletePermission(StoreRef storeRef,
String authority,
PermissionReference perm) |
void |
deletePermission(StoreRef storeRef,
String authority,
String perm) |
void |
deletePermissions(NodePermissionEntry nodePermissionEntry)
Delete the permissions defined by the nodePermissionEntry
|
void |
deletePermissions(NodeRef nodeRef) |
void |
deletePermissions(StoreRef storeRef) |
void |
deletePermissions(String recipient)
Delete permissions for the given recipient.
|
NodePermissionEntry |
explainPermission(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.
|
String |
getAllAuthorities() |
String |
getAllPermission() |
PermissionReference |
getAllPermissionReference()
Get the All Permission
|
protected Set<AccessPermission> |
getAllPermissionsImpl(NodeRef nodeRef,
boolean includeTrue,
boolean includeFalse) |
Set<AccessPermission> |
getAllSetPermissions(NodeRef nodeRef) |
Set<AccessPermission> |
getAllSetPermissions(StoreRef storeRef) |
boolean |
getAnyDenyDenies() |
Set<String> |
getAuthorisations() |
protected Set<String> |
getAuthorisations(net.sf.acegisecurity.Authentication auth,
NodeRef nodeRef,
PermissionReference required)
Get the authorisations for the currently authenticated user
|
protected Set<String> |
getAuthorisations(net.sf.acegisecurity.Authentication auth,
PermissionContext context) |
protected Set<String> |
getCoreAuthorisations(net.sf.acegisecurity.Authentication auth)
Get the core authorisations for this
auth. |
protected Set<String> |
getDynamicAuthorities(net.sf.acegisecurity.Authentication auth,
NodeRef nodeRef,
PermissionReference required) |
protected Set<String> |
getDynamicAuthorities(net.sf.acegisecurity.Authentication auth,
PermissionContext context,
Set<String> auths) |
boolean |
getInheritParentPermissions(NodeRef nodeRef) |
String |
getOwnerAuthority() |
String |
getPermission(PermissionReference permissionReference)
Get the string that can be used to identify the given permission reference.
|
PermissionReference |
getPermissionReference(QName qname,
String permissionName)
Get the permission reference for the given data type and permission name.
|
PermissionReference |
getPermissionReference(String permissionName)
Get the permission reference by permission name.
|
Set<AccessPermission> |
getPermissions(NodeRef nodeRef) |
Set<String> |
getReaders(Long aclId) |
Set<String> |
getReadersDenied(Long aclId) |
NodePermissionEntry |
getSetPermissions(NodeRef nodeRef)
Get the permissions that have been set on the given node (it knows
nothing of the parent permissions)
|
NodePermissionEntry |
getSetPermissions(StoreRef storeRef)
Get the permissions set for the store
|
Set<PermissionReference> |
getSettablePermissionReferences(NodeRef nodeRef)
Get the permissions that can be set for a given type
|
Set<PermissionReference> |
getSettablePermissionReferences(QName type)
Get the permissions that can be set for a given type
|
Set<String> |
getSettablePermissions(NodeRef nodeRef) |
Set<String> |
getSettablePermissions(QName type) |
<M extends Trait> |
getTrait(Class<? extends M> traitAPI) |
protected AccessStatus |
hasPermission(Long aclId,
PermissionContext context,
PermissionReference permission) |
AccessStatus |
hasPermission(Long aclID,
PermissionContext context,
String permission) |
AccessStatus |
hasPermission(NodeRef passedNodeRef,
PermissionReference permIn)
Check that the given authentication has a particular permission for the
given node.
|
AccessStatus |
hasPermission(NodeRef nodeRef,
String perm) |
AccessStatus |
hasReadPermission(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
|
void |
init() |
protected boolean |
isVersionNodeRef(NodeRef nodeRef)
This methods checks whether the specified nodeRef instance is a version nodeRef (ie.
|
protected void |
onBootstrap(org.springframework.context.ApplicationEvent event) |
void |
onCreateChildAssociation(ChildAssociationRef childAssocRef)
Cache clear on create of a child association from an authority container.
|
void |
onMoveNode(ChildAssociationRef oldChildAssocRef,
ChildAssociationRef newChildAssocRef)
Cache clear on move node
|
protected void |
onShutdown(org.springframework.context.ApplicationEvent event)
No-op
|
protected AccessStatus |
ownerRead(String username,
NodeRef nodeRef) |
void |
setAccessCache(SimpleCache<Serializable,AccessStatus> accessCache)
Set the permissions access cache.
|
void |
setAclDAO(AclDAO aclDaoComponent)
Set the ACL DAO component.
|
void |
setAnyDenyDenies(boolean anyDenyDenies) |
void |
setAuthorityService(AuthorityService authorityService)
Set the authority service.
|
void |
setDictionaryService(DictionaryService dictionaryService)
Set the dictionary service
|
void |
setDynamicAuthorities(List<DynamicAuthority> dynamicAuthorities)
Set the dynamic authorities
|
void |
setFixedAclUpdater(FixedAclUpdater fixedAclUpdater) |
void |
setInheritParentPermissions(NodeRef nodeRef,
boolean inheritParentPermissions) |
void |
setInheritParentPermissions(NodeRef nodeRef,
boolean inheritParentPermissions,
boolean asyncCall) |
void |
setModelDAO(ModelDAO modelDAO)
Set the permissions model dao
|
void |
setNodeService(NodeService nodeService)
Set the node service.
|
void |
setOwnableService(OwnableService ownableService)
Set the ownable service.
|
void |
setPermission(NodePermissionEntry nodePermissionEntry)
Set the permissions on a node.
|
protected void |
setPermission(NodeRef nodeRef,
String authority,
PermissionReference perm,
boolean allow) |
void |
setPermission(NodeRef nodeRef,
String authority,
String perm,
boolean allow) |
void |
setPermission(PermissionEntry permissionEntry)
Add or set a permission entry on a node.
|
protected void |
setPermission(StoreRef storeRef,
String authority,
PermissionReference permission,
boolean allow) |
void |
setPermission(StoreRef storeRef,
String authority,
String perm,
boolean allow) |
void |
setPermissionsDaoComponent(PermissionsDaoComponent permissionsDaoComponent)
Set the permissions dao component
|
void |
setPolicyComponent(PolicyComponent policyComponent)
Set the policy component
|
void |
setPolicyIgnoreUtil(PolicyIgnoreUtil policyIgnoreUtil) |
void |
setReadersCache(SimpleCache<Serializable,Set<String>> readersCache) |
void |
setReadersDeniedCache(SimpleCache<Serializable,Set<String>> readersDeniedCache) |
void |
setTenantService(TenantService tenantService)
Set the tenant service.
|
protected SimpleCache<Serializable,AccessStatus> accessCache
protected SimpleCache<Serializable,Set<String>> readersCache
protected SimpleCache<Serializable,Set<String>> readersDeniedCache
protected ModelDAO modelDAO
protected PermissionsDaoComponent permissionsDaoComponent
protected NodeService nodeService
protected TenantService tenantService
protected DictionaryService dictionaryService
protected OwnableService ownableService
protected AuthorityService authorityService
protected List<DynamicAuthority> dynamicAuthorities
protected PolicyComponent policyComponent
protected AclDAO aclDaoComponent
protected PermissionReference allPermissionReference
protected FixedAclUpdater fixedAclUpdater
protected boolean anyDenyDenies
public PermissionServiceImpl()
public void setDictionaryService(DictionaryService dictionaryService)
dictionaryService - DictionaryServicepublic void setAnyDenyDenies(boolean anyDenyDenies)
anyDenyDenies - the anyDenyDenies to setpublic boolean getAnyDenyDenies()
public void setModelDAO(ModelDAO modelDAO)
modelDAO - ModelDAOpublic void setNodeService(NodeService nodeService)
nodeService - NodeServicepublic void setOwnableService(OwnableService ownableService)
ownableService - OwnableServicepublic void setTenantService(TenantService tenantService)
tenantService - TenantServicepublic void setPermissionsDaoComponent(PermissionsDaoComponent permissionsDaoComponent)
permissionsDaoComponent - PermissionsDaoComponentpublic void setAuthorityService(AuthorityService authorityService)
authorityService - AuthorityServicepublic void setDynamicAuthorities(List<DynamicAuthority> dynamicAuthorities)
public void setAclDAO(AclDAO aclDaoComponent)
aclDaoComponent - AclDAOpublic void setFixedAclUpdater(FixedAclUpdater fixedAclUpdater)
public void setAccessCache(SimpleCache<Serializable,AccessStatus> accessCache)
accessCache - a transactionally safe cachepublic void setReadersCache(SimpleCache<Serializable,Set<String>> readersCache)
readersCache - the readersCache to setpublic void setReadersDeniedCache(SimpleCache<Serializable,Set<String>> readersDeniedCache)
readersDeniedCache - the readersDeniedCache to setpublic void setPolicyComponent(PolicyComponent policyComponent)
policyComponent - PolicyComponentpublic void setPolicyIgnoreUtil(PolicyIgnoreUtil policyIgnoreUtil)
public void onMoveNode(ChildAssociationRef oldChildAssocRef, ChildAssociationRef newChildAssocRef)
oldChildAssocRef - ChildAssociationRefnewChildAssocRef - ChildAssociationRefpublic void onCreateChildAssociation(ChildAssociationRef childAssocRef)
childAssocRef - ChildAssociationRefpublic void beforeDeleteChildAssociation(ChildAssociationRef childAssocRef)
childAssocRef - ChildAssociationRefprotected void onBootstrap(org.springframework.context.ApplicationEvent event)
onBootstrap in class org.springframework.extensions.surf.util.AbstractLifecycleBeanprotected void onShutdown(org.springframework.context.ApplicationEvent event)
onShutdown in class org.springframework.extensions.surf.util.AbstractLifecycleBeanpublic void init()
public String getOwnerAuthority()
getOwnerAuthority in interface PermissionServicepublic String getAllAuthorities()
getAllAuthorities in interface PermissionServicepublic String getAllPermission()
getAllPermission in interface PermissionServicepublic Set<AccessPermission> getPermissions(NodeRef nodeRef)
getPermissions in interface PermissionServicepublic Set<AccessPermission> getAllSetPermissions(NodeRef nodeRef)
getAllSetPermissions in interface PermissionServicepublic Set<AccessPermission> getAllSetPermissions(StoreRef storeRef)
getAllSetPermissions in interface PermissionServiceprotected Set<AccessPermission> getAllPermissionsImpl(NodeRef nodeRef, boolean includeTrue, boolean includeFalse)
public Set<String> getSettablePermissions(NodeRef nodeRef)
getSettablePermissions in interface PermissionServicepublic Set<String> getSettablePermissions(QName type)
getSettablePermissions in interface PermissionServicepublic NodePermissionEntry getSetPermissions(NodeRef nodeRef)
PermissionServiceSPIgetSetPermissions in interface PermissionServiceSPInodeRef - NodeRefpublic NodePermissionEntry getSetPermissions(StoreRef storeRef)
PermissionServiceSPIgetSetPermissions in interface PermissionServiceSPIstoreRef - StoreRefpublic AccessStatus hasPermission(NodeRef passedNodeRef, PermissionReference permIn)
PermissionServiceSPIhasPermission in interface PermissionServiceSPIpassedNodeRef - NodeRefpermIn - PermissionReferencepublic AccessStatus hasPermission(Long aclID, PermissionContext context, String permission)
hasPermission in interface PermissionServiceprotected AccessStatus hasPermission(Long aclId, PermissionContext context, PermissionReference permission)
protected Set<String> getCoreAuthorisations(net.sf.acegisecurity.Authentication auth)
auth. If null this
will be an empty set. Otherwise it will be a Lazy loaded Set of authorities
from the authority node structure PLUS any granted authorities.protected Set<String> getAuthorisations(net.sf.acegisecurity.Authentication auth, NodeRef nodeRef, PermissionReference required)
auth - AuthenticationnodeRef - NodeRefrequired - PermissionReferenceprotected Set<String> getDynamicAuthorities(net.sf.acegisecurity.Authentication auth, NodeRef nodeRef, PermissionReference required)
protected Set<String> getAuthorisations(net.sf.acegisecurity.Authentication auth, PermissionContext context)
protected Set<String> getDynamicAuthorities(net.sf.acegisecurity.Authentication auth, PermissionContext context, Set<String> auths)
public NodePermissionEntry explainPermission(NodeRef nodeRef, PermissionReference perm)
PermissionServiceSPIexplainPermission in interface PermissionServiceSPInodeRef - NodeRefperm - PermissionReferencepublic void clearPermission(StoreRef storeRef, String authority)
clearPermission in interface PermissionServicepublic void deletePermission(StoreRef storeRef, String authority, String perm)
deletePermission in interface PermissionServiceprotected void deletePermission(StoreRef storeRef, String authority, PermissionReference perm)
public void deletePermissions(StoreRef storeRef)
deletePermissions in interface PermissionServicepublic void setPermission(StoreRef storeRef, String authority, String perm, boolean allow)
setPermission in interface PermissionServiceprotected void setPermission(StoreRef storeRef, String authority, PermissionReference permission, boolean allow)
public void deletePermissions(NodeRef nodeRef)
deletePermissions in interface PermissionServicepublic void deletePermissions(NodePermissionEntry nodePermissionEntry)
PermissionServiceSPIdeletePermissions in interface PermissionServiceSPInodePermissionEntry - NodePermissionEntrypublic void deletePermission(PermissionEntry permissionEntry)
PermissionServiceSPIdeletePermission in interface PermissionServiceSPIpermissionEntry - PermissionEntrydeletePermission(NodeRef, String, PermissionReference)protected void deletePermission(NodeRef nodeRef, String authority, PermissionReference perm)
public void clearPermission(NodeRef nodeRef, String authority)
clearPermission in interface PermissionServiceprotected void setPermission(NodeRef nodeRef, String authority, PermissionReference perm, boolean allow)
public void setPermission(PermissionEntry permissionEntry)
PermissionServiceSPIsetPermission in interface PermissionServiceSPIpermissionEntry - PermissionEntrypublic void setPermission(NodePermissionEntry nodePermissionEntry)
PermissionServiceSPIsetPermission in interface PermissionServiceSPInodePermissionEntry - NodePermissionEntrypublic void setInheritParentPermissions(NodeRef nodeRef, boolean inheritParentPermissions)
setInheritParentPermissions in interface PermissionServicepublic void setInheritParentPermissions(NodeRef nodeRef, boolean inheritParentPermissions, boolean asyncCall)
setInheritParentPermissions in interface PermissionServicepublic boolean getInheritParentPermissions(NodeRef nodeRef)
getInheritParentPermissions in interface PermissionServicePermissionService.getInheritParentPermissions(org.alfresco.service.cmr.repository.NodeRef)public PermissionReference getPermissionReference(QName qname, String permissionName)
PermissionServiceSPIgetPermissionReference in interface PermissionServiceSPIqname - - may be null if the permission name is uniquepermissionName - Stringpublic PermissionReference getAllPermissionReference()
PermissionServiceSPIgetAllPermissionReference in interface PermissionServiceSPIpublic String getPermission(PermissionReference permissionReference)
PermissionServiceSPIgetPermission in interface PermissionServiceSPIpermissionReference - PermissionReferencepublic PermissionReference getPermissionReference(String permissionName)
PermissionServiceSPIgetPermissionReference in interface PermissionServiceSPIpermissionName - Stringpublic Set<PermissionReference> getSettablePermissionReferences(QName type)
PermissionServiceSPIgetSettablePermissionReferences in interface PermissionServiceSPItype - QNamepublic Set<PermissionReference> getSettablePermissionReferences(NodeRef nodeRef)
PermissionServiceSPIgetSettablePermissionReferences in interface PermissionServiceSPInodeRef - NodeRefpublic void deletePermission(NodeRef nodeRef, String authority, String perm)
deletePermission in interface PermissionServicepublic AccessStatus hasPermission(NodeRef nodeRef, String perm)
hasPermission in interface PermissionServicepublic void setPermission(NodeRef nodeRef, String authority, String perm, boolean allow)
setPermission in interface PermissionServicepublic void deletePermissions(String recipient)
PermissionServiceSPIdeletePermissions in interface PermissionServiceSPIrecipient - Stringpublic AccessStatus hasReadPermission(NodeRef nodeRef)
hasReadPermission in interface PermissionServiceprotected AccessStatus adminRead()
protected AccessStatus ownerRead(String username, NodeRef nodeRef)
public Set<String> getReaders(Long aclId)
getReaders in interface PermissionServicepublic Set<String> getReadersDenied(Long aclId)
getReadersDenied in interface PermissionServiceaclId - Longprotected AccessStatus canRead(Long aclId)
protected boolean isVersionNodeRef(NodeRef nodeRef)
nodeRef - - version nodeRefprotected NodeRef convertVersionNodeRefToVersionedNodeRef(NodeRef versionNodeRef)
versionNodeRef - - always version nodeRef (ie. in the 'version' store)public Set<String> getAuthorisations()
getAuthorisations in interface PermissionServicepublic <M extends Trait> ExtendedTrait<M> getTrait(Class<? extends M> traitAPI)
getTrait in interface ExtensibleCopyright © 2005–2020 Alfresco Software. All rights reserved.