You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "angela (JIRA)" <ji...@apache.org> on 2014/08/05 15:50:12 UTC

[jira] [Created] (OAK-2015) PermissionStore doesn't reflect dynamic nature of jcr:all

angela created OAK-2015:
---------------------------

             Summary: PermissionStore doesn't reflect dynamic nature of jcr:all
                 Key: OAK-2015
                 URL: https://issues.apache.org/jira/browse/OAK-2015
             Project: Jackrabbit Oak
          Issue Type: Bug
          Components: core
    Affects Versions: 1.0
            Reporter: angela
             Fix For: 1.1, 1.0.5


the following test will fail with the current implementation of the permission store:

{code}
@Test
    public void testJcrAllWithCustomPrivileges() throws Exception {
        Node testNode = session.getRootNode().addNode("test");
        String testPath = testNode.getPath();

        AccessControlUtils.grantAllToEveryone(session, testPath);
        session.save();

        JackrabbitAccessControlManager acMgr = (JackrabbitAccessControlManager) session.getAccessControlManager();
        Privilege[] allPrivileges = AccessControlUtils.privilegesFromNames(session, Privilege.JCR_ALL);
        Set<Principal> principalSet = ImmutableSet.<Principal>of(EveryonePrincipal.getInstance());

        assertTrue(acMgr.hasPrivileges(testPath, principalSet, allPrivileges));
        org.junit.Assert.assertArrayEquals(allPrivileges, acMgr.getPrivileges(testPath, principalSet));

        privilegeManager.registerPrivilege("customPriv", false, null);

        assertTrue(acMgr.hasPrivileges(testPath, principalSet, allPrivileges));
        org.junit.Assert.assertArrayEquals(allPrivileges, acMgr.getPrivileges(testPath, principalSet));
    }
{code}

the issue is caused by the current implementation of the PermissionStore and the PermissionStoreEditor, which do not reflect the dynamic nature of jcr:all upon reading/writing entries from the permission store.



--
This message was sent by Atlassian JIRA
(v6.2#6252)