The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

new

Create, set up, and return an Authz object.

set_results

Populate the message and response with results returned from performing query:

del

Delete the access controls for a given principal on a given node:

get_acl

Return the access control list for the node in JSON format

modify_privileges

Modify the privileges on a specified node for a specified principal.

NAME

Authz - content related functionality for Sling implemented over rest APIs.

ABSTRACT

Perl library providing a layer of abstraction to the REST content methods

Available privliges

jcr:read - the privilege to retrieve a node and get its properties and their values.
jcr:modifyProperties - the privilege to create, modify and remove the properties of a node.
jcr:addChildNodes - the privilege to create child nodes of a node.
jcr:removeNode - the privilege to remove a node.
jcr:removeChildNodes the privilege to remove child nodes of a node.
jcr:write an aggregate privilege that contains:
 jcr:modifyProperties
 jcr:addChildNodes
 jcr:removeNode
 jcr:removeChildNodes
jcr:readAccessControl the privilege to get the access control policy of a node.
jcr:modifyAccessControl the privilege to modify the access control policies of a node.
jcr:lockManagement the privilege to lock and unlock a node.
jcr:versionManagment the privilege to perform versioning operations on a node.
jcr:nodeTypeManagement the privilege to add and remove mixin node types and change the primary node type of a node.
jcr:retentionManagement the privilege to perform retention management operations on a node.
jcr:lifecycleManagement the privilege to perform lifecycle operations on a node.
jcr:all an aggregate privilege that contains all predefined privileges.
 jcr:read
 jcr:write
 jcr:readAccessControl
 jcr:modifyAccessControl
 jcr:lockManagement
 jcr:versionManagement
 jcr:nodeTypeManagement
 jcr:retentionManagement
 jcr:lifecycleManagement

Note: In order to actually remove a node, jcr:removeNode is required on that node and jcr:removeChildNodes on the parent node. The distinction is provided in order to reflect implementations that internally model "remove" as a "delete" instead of an "unlink". A repository that uses the "delete" model can have jcr:removeChildNodes in every access control policy, so that removal is effectively controlled by jcr:removeNode.

config

Fetch hash of authz configuration.

run

Run authz related actions.