public class ACPImpl extends Object implements ACP
| Modifier and Type | Field and Description |
|---|---|
static String |
LEGACY_BEHAVIOR_PROPERTY
ConfigurationService property to enable legacy behavior.
|
| Constructor and Description |
|---|
ACPImpl() |
| Modifier and Type | Method and Description |
|---|---|
void |
addAccessRule(String aclName,
ACE ace) |
boolean |
addACE(String aclName,
ACE ace)
Add an ACE to the given
aclName. |
void |
addACL(ACL acl)
This method must append the ACL and not insert it since it is used to append the inherited ACL which is the less
significant ACL.
|
void |
addACL(int pos,
ACL acl) |
void |
addACL(String afterMe,
ACL acl) |
boolean |
blockInheritance(String aclName,
String username)
Block the inheritance on the given
aclName. |
ACPImpl |
clone()
Return a recursive copy of the ACP sharing no mutable substructure with the original
|
static Access |
getAccess(ACE ace,
String[] principals,
String[] permissions) |
Access |
getAccess(String[] principals,
String[] permissions)
Checks the access on the ACLs for each set of the given permissions and principals.
|
Access |
getAccess(String principal,
String permission)
Check whether this ACP grant the given permission on the given user, denies it or doesn't specify a rule.
|
ACL |
getACL(String name) |
ACL[] |
getACLs() |
ACL |
getMergedACLs(String name) |
ACL |
getOrCreateACL() |
ACL |
getOrCreateACL(String name) |
String[] |
listUsernamesForAnyPermission(Set<String> perms)
Returns the usernames granted to perform an operation based on a list of permissions.
|
static ACL |
newACL(String name) |
boolean |
removeACE(String aclName,
ACE ace)
Remove an ACE on the given
aclName. |
boolean |
removeACEsByUsername(String username)
Remove all ACEs for
username on the whole ACP. |
boolean |
removeACEsByUsername(String aclName,
String username)
Remove all ACEs for
username on the given aclName. |
ACL |
removeACL(String name) |
boolean |
replaceACE(String aclName,
ACE oldACE,
ACE newACE)
Replace the
oldACE with newACE on the given aclName, only if the oldACE exists. |
void |
setRules(String aclName,
UserEntry[] userEntries)
Replaces the modifiable user entries (associated with the currentDocument) related to the ACP.
|
void |
setRules(String aclName,
UserEntry[] userEntries,
boolean overwrite)
Replaces the modifiable user entries (associated with the currentDocument) related to the ACP.
|
void |
setRules(UserEntry[] userEntries)
Replaces the modifiable user entries (associated with the currentDocument) related to the current ACP.
|
void |
setRules(UserEntry[] userEntries,
boolean overwrite)
Replaces the modifiable user entries (associated with the currentDocument) related to the current ACP.
|
boolean |
unblockInheritance(String aclName)
Unblock the inheritance on the given
aclName. |
protected boolean |
useLegacyBehavior() |
public static final String LEGACY_BEHAVIOR_PROPERTY
public ACPImpl()
public void addACL(ACL acl)
public ACL getMergedACLs(String name)
getMergedACLs in interface ACPpublic Access getAccess(String principal, String permission)
ACPThis is checking only the ACLs on that ACP. Parents if any are not checked.
public Access getAccess(String[] principals, String[] permissions)
ACPThis differs for an iterative check using getAccess(String principal, String permission) in the order of checks - so that in this case each ACE is fully checked against the given users and permissions before passing to the next ACE.
public void addAccessRule(String aclName, ACE ace)
public ACL getOrCreateACL(String name)
getOrCreateACL in interface ACPpublic ACL getOrCreateACL()
getOrCreateACL in interface ACPpublic void setRules(String aclName, UserEntry[] userEntries)
ACPConsiders that all the passed entries are modifiable and attempts to set them as entries related to the current document.
public void setRules(String aclName, UserEntry[] userEntries, boolean overwrite)
ACPConsiders that all the passed entries are modifiable and attempts to set them as entries related to the current document.
public void setRules(UserEntry[] userEntries)
ACPConsiders that all the passed entries are modifiable and attempts to set them as local entries related to the current document.
public void setRules(UserEntry[] userEntries, boolean overwrite)
ACPConsiders that all the passed entries are modifiable and attempts to set them as local entries related to the current document.
The current behavior reset completely the current ACL.
public String[] listUsernamesForAnyPermission(Set<String> perms)
ACPlistUsernamesForAnyPermission in interface ACPperms - the list of permissions.public ACPImpl clone()
ACPpublic boolean blockInheritance(String aclName, String username)
ACPaclName.blockInheritance in interface ACPusername - the user blocking the inheritancepublic boolean unblockInheritance(String aclName)
ACPaclName.unblockInheritance in interface ACPpublic boolean addACE(String aclName, ACE ace)
ACPaclName.public boolean replaceACE(String aclName, ACE oldACE, ACE newACE)
ACPoldACE with newACE on the given aclName, only if the oldACE exists.
The newACE keeps the same index as oldACE.
replaceACE in interface ACPpublic boolean removeACE(String aclName, ACE ace)
ACPaclName.public boolean removeACEsByUsername(String aclName, String username)
ACPusername on the given aclName.removeACEsByUsername in interface ACPpublic boolean removeACEsByUsername(String username)
ACPusername on the whole ACP.removeACEsByUsername in interface ACPprotected boolean useLegacyBehavior()
Copyright © 2019 Nuxeo. All rights reserved.