[
https://issues.apache.org/jira/browse/OAK-9494?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Angela Schreiber updated OAK-9494:
----------------------------------
Summary: Check if a privilege is granted at a node (was: Check if a
privilege is applicable to a node)
> Check if a privilege is granted at a node
> -----------------------------------------
>
> Key: OAK-9494
> URL: https://issues.apache.org/jira/browse/OAK-9494
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: api, commons
> Reporter: Joerg Hoh
> Priority: Major
>
> I have a case where I need to check for a session if individual privileges
> are available for a specific node. For performance reasons I want to avoid to
> execute multiple calls to {{accessControlManager.hasPrivilege(...)}}, but get
> all Privileges of that node once and the set various flags based on the
> presene of certain privileges or not.
> I want to use something like this:
> {code}
> Set<String> applicablePrivilegeNames =
> ...(accessControlManager.getPrivileges(path))...
> boolean canAddChildNodes =
> applicablePrivilegeNames.contains(Privilege.JCR_ADD_CHILD_NODES);
> boolean canWrite = applicablePrivilegeNames.contains(Privilege.WRITE);
> {code}
> It should work with aggregates as well.
> Right now it's a bit problematic because {{privilege.getName()}} resolves to
> something like {{jcr:read}}, while the value of {{Privilege.JCR_READ}} is
> {{\{http://www.jcp.org/jcr/1.0}read}}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)