Class DeletePrincipalAcesServlet
- java.lang.Object
-
- javax.servlet.GenericServlet
-
- org.apache.sling.api.servlets.SlingSafeMethodsServlet
-
- org.apache.sling.api.servlets.SlingAllMethodsServlet
-
- org.apache.sling.jcr.jackrabbit.accessmanager.post.AbstractAccessServlet
-
- org.apache.sling.jcr.jackrabbit.accessmanager.post.AbstractAccessPostServlet
-
- org.apache.sling.jcr.jackrabbit.accessmanager.post.DeleteAcesServlet
-
- org.apache.sling.jcr.jackrabbit.accessmanager.post.DeletePrincipalAcesServlet
-
- All Implemented Interfaces:
Serializable
,javax.servlet.Servlet
,javax.servlet.ServletConfig
,DeleteAces
,DeletePrincipalAces
public class DeletePrincipalAcesServlet extends DeleteAcesServlet implements DeletePrincipalAces
Sling Post Servlet implementation for deleting the principal ACE for a set of principals on a JCR resource.
Rest Service Description
Delete a set of Ace's from a node, the node is identified as a resource by the request url >resource<.deletePAce.html
Transport Details:
Methods
- POST
Post Parameters
- :applyTo
- An array of ace principal names to delete. Note the principal name is the primary key of the Ace in the Acl
Response
- 200
- Success.
- 404
- The resource was not found.
- 500
- Failure. HTML explains the failure.
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description DeletePrincipalAcesServlet()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
allowNonExistingPaths()
Returns whether this operation can operate on paths that do not exist yetprotected void
deleteAces(javax.jcr.Session jcrSession, String resourcePath, String[] principalNamesToDelete, List<org.apache.sling.servlets.post.Modification> changes)
void
deletePrincipalAces(javax.jcr.Session jcrSession, String resourcePath, String[] principalNamesToDelete)
Deletes one or more pricipal ACEs from the access control list of a resource.protected org.apache.jackrabbit.api.security.authorization.PrincipalAccessControlList
getAccessControlListOrNull(org.apache.jackrabbit.api.security.JackrabbitAccessControlManager jacm, Principal principal)
-
Methods inherited from class org.apache.sling.jcr.jackrabbit.accessmanager.post.DeleteAcesServlet
deleteAces, handleOperation, validateArgs
-
Methods inherited from class org.apache.sling.jcr.jackrabbit.accessmanager.post.AbstractAccessPostServlet
bindPostResponseCreator, createHtmlResponse, doPost, externalizePath, getAccessControlList, getAccessControlListOrNull, getItemPath, getParentPath, getRedirectUrl, getRedirectUrl, handleOperation, isSetStatus, unbindPostResponseCreator, validateResourcePath
-
Methods inherited from class org.apache.sling.jcr.jackrabbit.accessmanager.post.AbstractAccessServlet
bindRestrictionProvider, getRestrictionProvider, unbindRestrictionProvider
-
Methods inherited from class org.apache.sling.api.servlets.SlingAllMethodsServlet
doDelete, doPut, getAllowedRequestMethods, isMethodValid, mayService
-
Methods inherited from class org.apache.sling.api.servlets.SlingSafeMethodsServlet
doGeneric, doGet, doHead, doOptions, doTrace, getServletInfo, handleMethodNotImplemented, service, service
-
-
-
-
Method Detail
-
allowNonExistingPaths
protected boolean allowNonExistingPaths()
Description copied from class:AbstractAccessPostServlet
Returns whether this operation can operate on paths that do not exist yet- Overrides:
allowNonExistingPaths
in classAbstractAccessPostServlet
- Returns:
- true if the resourcePath must exist, false otherwise
-
deletePrincipalAces
public void deletePrincipalAces(javax.jcr.Session jcrSession, String resourcePath, String[] principalNamesToDelete) throws javax.jcr.RepositoryException
Description copied from interface:DeletePrincipalAces
Deletes one or more pricipal ACEs from the access control list of a resource.- Specified by:
deletePrincipalAces
in interfaceDeletePrincipalAces
- Parameters:
jcrSession
- the JCR session of the user updating the userresourcePath
- The path of the resource to update the ACL for (required)principalNamesToDelete
- An array of ace principal names to delete.. (required)- Throws:
javax.jcr.RepositoryException
- if any errors applying the changes
-
deleteAces
protected void deleteAces(javax.jcr.Session jcrSession, String resourcePath, String[] principalNamesToDelete, List<org.apache.sling.servlets.post.Modification> changes) throws javax.jcr.RepositoryException
- Overrides:
deleteAces
in classDeleteAcesServlet
- Throws:
javax.jcr.RepositoryException
-
getAccessControlListOrNull
protected org.apache.jackrabbit.api.security.authorization.PrincipalAccessControlList getAccessControlListOrNull(org.apache.jackrabbit.api.security.JackrabbitAccessControlManager jacm, Principal principal) throws javax.jcr.RepositoryException
- Throws:
javax.jcr.RepositoryException
-
-