|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.jackrabbit.core.security.AbstractAccessControlManager
public abstract class AbstractAccessControlManager
AbstractAccessControlManager
...
Constructor Summary | |
---|---|
AbstractAccessControlManager()
|
Method Summary | |
---|---|
protected abstract void |
checkInitialized()
Check if this manager has been properly initialized. |
protected abstract void |
checkPermission(String absPath,
int permission)
Check if the specified privileges are granted at absPath . |
protected abstract void |
checkValidNodePath(String absPath)
Build a qualified path from the specified absPath and test
if it is really absolute and points to an existing node. |
JackrabbitAccessControlPolicy[] |
getApplicablePolicies(Principal principal)
Returns the editable policies for the specified principal . |
AccessControlPolicyIterator |
getApplicablePolicies(String absPath)
Returns an empty iterator. |
AccessControlPolicy[] |
getPolicies(String absPath)
Returns null . |
protected abstract PrivilegeRegistry |
getPrivilegeRegistry()
|
Privilege[] |
getSupportedPrivileges(String absPath)
Always returns all registered Privilege s. |
Privilege |
privilegeFromName(String privilegeName)
Returns the privilege with the specified privilegeName . |
void |
removePolicy(String absPath,
AccessControlPolicy policy)
Always throws AccessControlException |
void |
setPolicy(String absPath,
AccessControlPolicy policy)
Always throws AccessControlException |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.apache.jackrabbit.api.jsr283.security.AccessControlManager |
---|
getEffectivePolicies, getPrivileges, hasPrivileges |
Constructor Detail |
---|
public AbstractAccessControlManager()
Method Detail |
---|
public Privilege[] getSupportedPrivileges(String absPath) throws PathNotFoundException, RepositoryException
Privilege
s.
getSupportedPrivileges
in interface AccessControlManager
absPath
- Path to an existing node.
Privilege
s.
PathNotFoundException
- if no node at absPath
exists
or the session does not have privilege to
retrieve the node.
RepositoryException
- if another error occurs.AccessControlManager.getSupportedPrivileges(String)
public Privilege privilegeFromName(String privilegeName) throws AccessControlException, RepositoryException
AccessControlManager
privilegeName
.
A AccessControlException
is thrown if no privilege with
the specified name exists.
A RepositoryException
is thrown if another error occurs.
privilegeFromName
in interface AccessControlManager
privilegeName
- the name of an existing privilege.
Privilege
with the specified privilegeName
.
AccessControlException
- if no privilege with the specified name exists.
RepositoryException
- if another error occurs.AccessControlManager.privilegeFromName(String)
public AccessControlPolicy[] getPolicies(String absPath) throws PathNotFoundException, AccessDeniedException, RepositoryException
null
.
getPolicies
in interface AccessControlManager
absPath
- Path to an existing node.
null
.
PathNotFoundException
- if no node at absPath
exists
or the session does not have privilege to
retrieve the node.
AccessDeniedException
- if the session lacks
READ_ACCESS_CONTROL
privilege
for the absPath
node.
RepositoryException
- if another error occurs.AccessControlManager.getApplicablePolicies(String)
public AccessControlPolicyIterator getApplicablePolicies(String absPath) throws PathNotFoundException, AccessDeniedException, RepositoryException
getApplicablePolicies
in interface AccessControlManager
absPath
- Path to an existing node.
PathNotFoundException
- if no node at absPath
exists
or the session does not have privilege to
retrieve the node.
AccessDeniedException
- if the session lacks
READ_ACCESS_CONTROL
privilege
for the absPath
node.
RepositoryException
- if another error occurs.AccessControlManager.getApplicablePolicies(String)
public void setPolicy(String absPath, AccessControlPolicy policy) throws PathNotFoundException, AccessControlException, AccessDeniedException, RepositoryException
AccessControlException
setPolicy
in interface AccessControlManager
absPath
- an absolute path.policy
- the AccessControlPolicy
to be applied.
PathNotFoundException
- if no node at absPath
exists
or the session does not have privilege to
retrieve the node.
AccessControlException
- if the policy is not applicable.
AccessDeniedException
- if the session lacks
MODIFY_ACCESS_CONTROL
privilege for the absPath
node.
LockException
- if a lock applies at the node at
absPath
and this implementation
performs this validation immediately instead
of waiting until save
.
VersionException
- if the node at absPath
is
versionable and checked-in or is non-versionable
but its nearest versionable ancestor is
checked-in and this implementation performs
this validation immediately instead of
waiting until save
.
RepositoryException
- if another error occurs.AccessControlManager.setPolicy(String, AccessControlPolicy)
public void removePolicy(String absPath, AccessControlPolicy policy) throws PathNotFoundException, AccessControlException, AccessDeniedException, RepositoryException
AccessControlException
removePolicy
in interface AccessControlManager
absPath
- an absolute path.policy
- the policy to be removed.
PathNotFoundException
- if no node at absPath
exists
or the session does not have privilege to
retrieve the node.
AccessControlException
- if no policy exists.
AccessDeniedException
- if the session lacks
MODIFY_ACCESS_CONTROL
privilege for the absPath
node.
LockException
- if a lock applies at the node at
absPath
and this implementation
performs this validation immediately instead
of waiting until save
.
VersionException
- if the node at absPath
is
versionable and checked-in or is non-versionable
but its nearest versionable ancestor is
checked-in and this implementation performs
this validation immediately instead of
waiting until save
.
RepositoryException
- if another error occurs.AccessControlManager.removePolicy(String, AccessControlPolicy)
public JackrabbitAccessControlPolicy[] getApplicablePolicies(Principal principal) throws AccessDeniedException, AccessControlException, UnsupportedRepositoryOperationException, RepositoryException
JackrabbitAccessControlManager
principal
.
getApplicablePolicies
in interface JackrabbitAccessControlManager
principal
- A principal known to the editing session.
principal
. Note
that the policy object returned must reveal the path of the node where
they can be applied later on using AccessControlManager.setPolicy(String, org.apache.jackrabbit.api.jsr283.security.AccessControlPolicy)
.
AccessDeniedException
- if the session lacks
MODIFY_ACCESS_CONTROL
privilege.
AccessControlException
- if the specified principal does not exist
or if another access control related exception occurs.
UnsupportedRepositoryOperationException
- if editing access control
policies is not supported.
RepositoryException
- if another error occurs.JackrabbitAccessControlManager.getApplicablePolicies(java.security.Principal)
protected abstract void checkInitialized() throws IllegalStateException
IllegalStateException
- If this manager has not been properly initialized.protected abstract void checkPermission(String absPath, int permission) throws AccessDeniedException, PathNotFoundException, RepositoryException
absPath
.
absPath
- Path to an existing node.permission
- Permissions to be checked.
AccessDeniedException
- if the session does not have the
specified privileges.
PathNotFoundException
- if no node exists at absPath
of if the session does not have the permission to READ it.
RepositoryException
- If another error occurs.protected abstract PrivilegeRegistry getPrivilegeRegistry() throws RepositoryException
RepositoryException
- If another error occurs.protected abstract void checkValidNodePath(String absPath) throws PathNotFoundException, RepositoryException
absPath
and test
if it is really absolute and points to an existing node.
absPath
- Path to an existing node.
PathNotFoundException
- if no node at absPath
exists
or the session does not have privilege to retrieve the node.
RepositoryException
- If the given absPath
is not
absolute or if some other error occurs.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |