public abstract class AbstractAccessControlProvider extends Object implements AccessControlProvider, AccessControlUtils, AccessControlConstants
AbstractAccessControlProvider...| Modifier and Type | Field and Description |
|---|---|
protected ObservationManager |
observationMgr |
static String |
PARAM_OMIT_DEFAULT_PERMISSIONS
Constant for the name of the configuration option "omit-default-permission".
|
protected PrivilegeManagerImpl |
privilegeManager |
protected SessionImpl |
session
the system session this provider has been created for.
|
N_ACCESSCONTROL, N_POLICY, N_REPO_POLICY, NT_REP_ACCESS_CONTROL, NT_REP_ACCESS_CONTROLLABLE, NT_REP_ACE, NT_REP_ACL, NT_REP_DENY_ACE, NT_REP_GRANT_ACE, NT_REP_PRINCIPAL_ACCESS_CONTROL, NT_REP_REPO_ACCESS_CONTROLLABLE, P_GLOB, P_PRINCIPAL_NAME, P_PRIVILEGES| Modifier | Constructor and Description |
|---|---|
protected |
AbstractAccessControlProvider() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
checkInitialized()
Throws
IllegalStateException if the provider has not
been initialized or has been closed. |
void |
close()
Closes this provider when it is no longer used by the respective
workspace and release resources bound by this provider.
|
protected CompiledPermissions |
getAdminPermissions()
Returns compiled permissions for the administrator i.e.
|
protected PrivilegeManagerImpl |
getPrivilegeManagerImpl() |
protected CompiledPermissions |
getReadOnlyPermissions()
Returns compiled permissions for a read-only user i.e.
|
void |
init(Session systemSession,
Map configuration)
Tests if the given
systemSession is a SessionImpl and
retrieves the observation manager. |
boolean |
isAcItem(ItemImpl item)
Test if the given node is itself a rep:ACL or a rep:ACE node.
|
boolean |
isAcItem(Path absPath)
Test if the specified path points to an item that defines AC
information.
|
boolean |
isAdminOrSystem(Set<Principal> principals)
Test if the specified set of principals contains an admin or system
principal.
|
boolean |
isLive()
Returns
true, if this provider is still alive and able to
evaluate permissions; false otherwise. |
boolean |
isReadOnly(Set<Principal> principals)
Test if if the specified set of principals will have read-only permissions
only.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcanAccessRoot, compilePermissions, getEditor, getEffectivePolicies, getEffectivePoliciespublic static final String PARAM_OMIT_DEFAULT_PERMISSIONS
If this option is present in the configuration no initial ACL content
is created.
If this configuration option is omitted the default permissions are
installed. Note however, that the initialization should not overwrite
previously installed AC content.
protected SessionImpl session
protected ObservationManager observationMgr
protected PrivilegeManagerImpl privilegeManager
protected void checkInitialized()
IllegalStateException if the provider has not
been initialized or has been closed.protected PrivilegeManagerImpl getPrivilegeManagerImpl() throws RepositoryException
RepositoryExceptionprotected CompiledPermissions getAdminPermissions()
Privilege.JCR_ALL
upon CompiledPermissions.getPrivileges(Path) for all
paths.CompiledPermissions that
grants everything and always returns the int representation of
Privilege.JCR_ALL upon CompiledPermissions.getPrivileges(Path).protected CompiledPermissions getReadOnlyPermissions()
CompiledPermissions that
grants READ permission for all non-AC items.public boolean isAcItem(Path absPath) throws RepositoryException
AccessControlUtilsisAcItem in interface AccessControlUtilsabsPath - Path to an item.absPath contains
access control information.RepositoryException - If an error occurs.AccessControlUtils.isAcItem(Path)public boolean isAcItem(ItemImpl item) throws RepositoryException
isAcItem in interface AccessControlUtilsitem - An item.item defines
access control related information is should therefore be considered
protected.RepositoryException - If an error occurs.AccessControlUtils.isAcItem(org.apache.jackrabbit.core.ItemImpl)public boolean isAdminOrSystem(Set<Principal> principals)
AccessControlUtilsisAdminOrSystem in interface AccessControlUtilsprincipals - A set of principals.AdminPrincipal or a SystemPrincipal.AccessControlUtils.isAdminOrSystem(Set)public boolean isReadOnly(Set<Principal> principals)
AccessControlUtilsisReadOnly in interface AccessControlUtilsprincipals - A set of principals.AccessControlUtils.isReadOnly(Set)public void init(Session systemSession, Map configuration) throws RepositoryException
systemSession is a SessionImpl and
retrieves the observation manager. The it sets the internal 'initialized'
field to true.init in interface AccessControlProvidersystemSession - System session.configuration - Configuration used to initialize this provider.RepositoryException - If the specified session is not a
SessionImpl or if retrieving the observation manager fails.AccessControlProvider.init(Session, Map)public void close()
AccessControlProviderclose in interface AccessControlProviderAccessControlProvider.close()public boolean isLive()
AccessControlProvidertrue, if this provider is still alive and able to
evaluate permissions; false otherwise.isLive in interface AccessControlProvidertrue, if this provider is still alive and able to
evaluate permissions; false otherwise.AccessControlProvider.isLive()Copyright © 2004–2022 The Apache Software Foundation. All rights reserved.