Search code examples
aemjcrjackrabbitsling

Get the list of permission given to a group for a page in AEM


I have a requirement to go to a particular page and find out the permissions granted to a group for that page programmatically. This I have to achieve in AEm6.0. Please give some code snippets which can help me in achieving this. Any help is highly appreciated.


Solution

  • You can achieve this using jcr api's

            UserManager userMgr = ((org.apache.jackrabbit.api.JackrabbitSession) adminSession)
                    .getUserManager();
            AccessControlManager accCtrlMgr = adminSession
                    .getAccessControlManager();
            Authorizable denyAccess = userMgr.getAuthorizable("deny-access");
            AccessControlPolicyIterator policyIterator = accCtrlMgr
                    .getApplicablePolicies("/content/geometrixx/fr");
            AccessControlList acl;
    
            try {
                acl = (JackrabbitAccessControlList) policyIterator
                        .nextAccessControlPolicy();
                LOG.debug("# Policy Iterator Acl" + acl.toString());
            } catch (NoSuchElementException e) {
                acl = (JackrabbitAccessControlList) accCtrlMgr
                        .getPolicies("/content/geometrixx/fr")[0];