public class ModifyAceServlet extends AbstractAccessPostServlet implements ModifyAce
Sling Post Servlet implementation for modifying the ACEs for a principal on a JCR resource.
Modify a principal's ACEs for the node identified as a resource by the request URL >resource<.modifyAce.html
The principalId is assumed to refer directly to an Authorizable, that comes direct from the UserManager. This can be a group or a user, but if its a group, denied permissions will not be added to the group. The group will only contain granted privileges.
| Constructor and Description |
|---|
ModifyAceServlet() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
bindPostResponseCreator(PostResponseCreator creator,
java.util.Map<java.lang.String,java.lang.Object> properties)
Overridden since the @Reference annotation is not inherited from the super method
|
protected void |
bindRestrictionProvider(org.apache.jackrabbit.oak.spi.security.authorization.restriction.RestrictionProvider rp) |
protected void |
handleOperation(SlingHttpServletRequest request,
PostResponse response,
java.util.List<Modification> changes)
Extending Servlet should implement this operation to do the work
|
void |
modifyAce(javax.jcr.Session jcrSession,
java.lang.String resourcePath,
java.lang.String principalId,
java.util.Map<java.lang.String,java.lang.String> privileges,
java.lang.String order)
Add or modify the access control entry for the specified user
or group.
|
void |
modifyAce(javax.jcr.Session jcrSession,
java.lang.String resourcePath,
java.lang.String principalId,
java.util.Map<java.lang.String,java.lang.String> privileges,
java.lang.String order,
boolean autoSave)
Add or modify the access control entry for the specified user
or group.
|
void |
modifyAce(javax.jcr.Session jcrSession,
java.lang.String resourcePath,
java.lang.String principalId,
java.util.Map<java.lang.String,java.lang.String> privileges,
java.lang.String order,
java.util.Map<java.lang.String,javax.jcr.Value> restrictions,
java.util.Map<java.lang.String,javax.jcr.Value[]> mvRestrictions,
java.util.Set<java.lang.String> removeRestrictionNames)
Add or modify the access control entry for the specified user
or group.
|
void |
modifyAce(javax.jcr.Session jcrSession,
java.lang.String resourcePath,
java.lang.String principalId,
java.util.Map<java.lang.String,java.lang.String> privileges,
java.lang.String order,
java.util.Map<java.lang.String,javax.jcr.Value> restrictions,
java.util.Map<java.lang.String,javax.jcr.Value[]> mvRestrictions,
java.util.Set<java.lang.String> removeRestrictionNames,
boolean autoSave)
Add or modify the access control entry for the specified user
or group.
|
protected void |
modifyAce(javax.jcr.Session jcrSession,
java.lang.String resourcePath,
java.lang.String principalId,
java.util.Map<java.lang.String,java.lang.String> privileges,
java.lang.String order,
java.util.Map<java.lang.String,javax.jcr.Value> restrictions,
java.util.Map<java.lang.String,javax.jcr.Value[]> mvRestrictions,
java.util.Set<java.lang.String> removeRestrictionNames,
boolean autoSave,
java.util.List<Modification> changes) |
protected void |
unbindPostResponseCreator(PostResponseCreator creator,
java.util.Map<java.lang.String,java.lang.Object> properties)
Unbind a post response creator
|
protected void |
unbindRestrictionProvider(org.apache.jackrabbit.oak.spi.security.authorization.restriction.RestrictionProvider rp) |
createHtmlResponse, doPost, externalizePath, getAccessControlList, getAccessControlListOrNull, getItemPath, getRedirectUrl, getRedirectUrl, handleOperation, isSetStatusdoDelete, doPut, getAllowedRequestMethods, isMethodValid, mayServicedoGeneric, doGet, doHead, doOptions, doTrace, getServletInfo, handleMethodNotImplemented, service, serviceprotected void bindRestrictionProvider(org.apache.jackrabbit.oak.spi.security.authorization.restriction.RestrictionProvider rp)
protected void unbindRestrictionProvider(org.apache.jackrabbit.oak.spi.security.authorization.restriction.RestrictionProvider rp)
protected void bindPostResponseCreator(PostResponseCreator creator, java.util.Map<java.lang.String,java.lang.Object> properties)
bindPostResponseCreator in class AbstractAccessPostServletcreator - the response creator service referenceproperties - the component properties for the service referenceprotected void unbindPostResponseCreator(PostResponseCreator creator, java.util.Map<java.lang.String,java.lang.Object> properties)
AbstractAccessPostServletunbindPostResponseCreator in class AbstractAccessPostServletcreator - the response creator service referenceproperties - the component properties for the service referenceprotected void handleOperation(SlingHttpServletRequest request, PostResponse response, java.util.List<Modification> changes) throws javax.jcr.RepositoryException
AbstractAccessPostServlethandleOperation in class AbstractAccessPostServletrequest - the sling http request to processresponse - the responsechanges - the changes to reportjavax.jcr.RepositoryException - if any errors applying the changespublic void modifyAce(javax.jcr.Session jcrSession,
java.lang.String resourcePath,
java.lang.String principalId,
java.util.Map<java.lang.String,java.lang.String> privileges,
java.lang.String order,
boolean autoSave)
throws javax.jcr.RepositoryException
ModifyAcemodifyAce in interface ModifyAcejcrSession - the JCR session of the user updating the userresourcePath - The absolute path of the resource to apply the ACE to (required)principalId - The name of the user/group to provision (required)privileges - Map of privileges to apply. (optional)order - where the access control entry should go in the list.
| null | If the ACE for the principal doesn't exist add at the end, otherwise leave the ACE at it's current position. |
| first | Place the target ACE as the first amongst its siblings |
| last | Place the target ACE as the last amongst its siblings |
| before xyz | Place the target ACE immediately before the sibling whose name is xyz |
| after xyz | Place the target ACE immediately after the sibling whose name is xyz |
| numeric | Place the target ACE at the specified numeric index |
autoSave - true to automatically save changes to the JCR session, false otherwisejavax.jcr.RepositoryException - if any errors applying the changespublic void modifyAce(javax.jcr.Session jcrSession,
java.lang.String resourcePath,
java.lang.String principalId,
java.util.Map<java.lang.String,java.lang.String> privileges,
java.lang.String order)
throws javax.jcr.RepositoryException
ModifyAceModifyAce.modifyAce(Session, String, String, Map, String, boolean) with
the autoSave parameter value equal to true.modifyAce in interface ModifyAcejcrSession - the JCR session of the user updating the userresourcePath - The absolute path of the resource to apply the ACE to (required)principalId - The name of the user/group to provision (required)privileges - Map of privileges to apply. (optional)order - where the access control entry should go in the list.
| null | If the ACE for the principal doesn't exist add at the end, otherwise leave the ACE at it's current position. |
| first | Place the target ACE as the first amongst its siblings |
| last | Place the target ACE as the last amongst its siblings |
| before xyz | Place the target ACE immediately before the sibling whose name is xyz |
| after xyz | Place the target ACE immediately after the sibling whose name is xyz |
| numeric | Place the target ACE at the specified numeric index |
javax.jcr.RepositoryException - if any errors applying the changespublic void modifyAce(javax.jcr.Session jcrSession,
java.lang.String resourcePath,
java.lang.String principalId,
java.util.Map<java.lang.String,java.lang.String> privileges,
java.lang.String order,
java.util.Map<java.lang.String,javax.jcr.Value> restrictions,
java.util.Map<java.lang.String,javax.jcr.Value[]> mvRestrictions,
java.util.Set<java.lang.String> removeRestrictionNames)
throws javax.jcr.RepositoryException
ModifyAceModifyAce.modifyAce(Session, String, String, Map, String, Map, Map, Set, boolean) with
the autoSave parameter value equal to true.modifyAce in interface ModifyAcejcrSession - the JCR session of the user updating the userresourcePath - The absolute path of the resource to apply the ACE to (required)principalId - The name of the user/group to provision (required)privileges - Map of privileges to apply. (optional)order - where the access control entry should go in the list.
| null | If the ACE for the principal doesn't exist add at the end, otherwise leave the ACE at it's current position. |
| first | Place the target ACE as the first amongst its siblings |
| last | Place the target ACE as the last amongst its siblings |
| before xyz | Place the target ACE immediately before the sibling whose name is xyz |
| after xyz | Place the target ACE immediately after the sibling whose name is xyz |
| numeric | Place the target ACE at the specified numeric index |
restrictions - Map of single-value restrictions to apply. (optional)mvRestrictions - Map of multi-value restrictions to apply. (optional)removeRestrictionNames - Set of existing restriction names to remove (optional)javax.jcr.RepositoryException - if any errors applying the changespublic void modifyAce(javax.jcr.Session jcrSession,
java.lang.String resourcePath,
java.lang.String principalId,
java.util.Map<java.lang.String,java.lang.String> privileges,
java.lang.String order,
java.util.Map<java.lang.String,javax.jcr.Value> restrictions,
java.util.Map<java.lang.String,javax.jcr.Value[]> mvRestrictions,
java.util.Set<java.lang.String> removeRestrictionNames,
boolean autoSave)
throws javax.jcr.RepositoryException
ModifyAcemodifyAce in interface ModifyAcejcrSession - the JCR session of the user updating the userresourcePath - The absolute path of the resource to apply the ACE to (required)principalId - The name of the user/group to provision (required)privileges - Map of privileges to apply. (optional)order - where the access control entry should go in the list.
| null | If the ACE for the principal doesn't exist add at the end, otherwise leave the ACE at it's current position. |
| first | Place the target ACE as the first amongst its siblings |
| last | Place the target ACE as the last amongst its siblings |
| before xyz | Place the target ACE immediately before the sibling whose name is xyz |
| after xyz | Place the target ACE immediately after the sibling whose name is xyz |
| numeric | Place the target ACE at the specified numeric index |
restrictions - Map of single-value restrictions to apply. (optional)mvRestrictions - Map of multi-value restrictions to apply. (optional)removeRestrictionNames - Set of existing restriction names to remove (optional)autoSave - true to automatically save changes to the JCR session, false otherwisejavax.jcr.RepositoryException - if any errors applying the changesprotected void modifyAce(javax.jcr.Session jcrSession,
java.lang.String resourcePath,
java.lang.String principalId,
java.util.Map<java.lang.String,java.lang.String> privileges,
java.lang.String order,
java.util.Map<java.lang.String,javax.jcr.Value> restrictions,
java.util.Map<java.lang.String,javax.jcr.Value[]> mvRestrictions,
java.util.Set<java.lang.String> removeRestrictionNames,
boolean autoSave,
java.util.List<Modification> changes)
throws javax.jcr.RepositoryException
javax.jcr.RepositoryExceptionCopyright © 2022 The Apache Software Foundation. All rights reserved.