Joerg Hoh created OAK-9494:
------------------------------

             Summary: Check if a privilege is applicable to a node
                 Key: OAK-9494
                 URL: https://issues.apache.org/jira/browse/OAK-9494
             Project: Jackrabbit Oak
          Issue Type: Improvement
          Components: commons
            Reporter: Joerg Hoh


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)

Reply via email to