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)