Search in sources :

Example 36 with PermissionProvider

use of org.apache.jackrabbit.oak.spi.security.authorization.permission.PermissionProvider in project jackrabbit-oak by apache.

the class CugEvaluationTest method testHasPrivilegesTestGroupEveryone.

@Test
public void testHasPrivilegesTestGroupEveryone() throws Exception {
    // testGroup + everyone
    PermissionProvider pp = createPermissionProvider(testGroupPrincipal, EveryonePrincipal.getInstance());
    assertTrue(pp.hasPrivileges(content, PrivilegeConstants.JCR_READ));
    assertTrue(pp.hasPrivileges(a, PrivilegeConstants.JCR_READ));
    assertTrue(pp.hasPrivileges(c, PrivilegeConstants.JCR_READ));
    assertTrue(pp.hasPrivileges(content, PrivilegeConstants.REP_WRITE, PrivilegeConstants.JCR_READ_ACCESS_CONTROL));
    assertTrue(pp.hasPrivileges(a, PrivilegeConstants.REP_WRITE, PrivilegeConstants.JCR_READ_ACCESS_CONTROL));
    assertTrue(pp.hasPrivileges(c, PrivilegeConstants.REP_WRITE, PrivilegeConstants.JCR_READ_ACCESS_CONTROL));
}
Also used : PermissionProvider(org.apache.jackrabbit.oak.spi.security.authorization.permission.PermissionProvider) Test(org.junit.Test)

Example 37 with PermissionProvider

use of org.apache.jackrabbit.oak.spi.security.authorization.permission.PermissionProvider in project jackrabbit-oak by apache.

the class CugEvaluationTest method testWrite2.

@Test
public void testWrite2() throws Exception {
    ContentSession cs = createTestSession2();
    Root r = cs.getLatestRoot();
    try {
        PermissionProvider pp = createPermissionProvider(cs);
        assertTrue(pp.isGranted(root.getTree("/content/writeTest"), null, Permissions.ADD_NODE));
        assertTrue(pp.isGranted(root.getTree("/content/a/b/c/writeTest"), null, Permissions.ADD_NODE));
        List<String> paths = ImmutableList.of("/content", "/content/a/b/c");
        for (String p : paths) {
            NodeUtil content = new NodeUtil(r.getTree(p));
            content.addChild("writeTest", NT_OAK_UNSTRUCTURED);
            r.commit();
        }
    } finally {
        r.refresh();
        cs.close();
    }
}
Also used : Root(org.apache.jackrabbit.oak.api.Root) PermissionProvider(org.apache.jackrabbit.oak.spi.security.authorization.permission.PermissionProvider) ContentSession(org.apache.jackrabbit.oak.api.ContentSession) NodeUtil(org.apache.jackrabbit.oak.util.NodeUtil) Test(org.junit.Test)

Example 38 with PermissionProvider

use of org.apache.jackrabbit.oak.spi.security.authorization.permission.PermissionProvider in project jackrabbit-oak by apache.

the class CugEvaluationTest method testIsGrantedTestGroup.

@Test
public void testIsGrantedTestGroup() throws Exception {
    // testGroup
    PermissionProvider pp = createPermissionProvider(testGroupPrincipal);
    assertTrue(pp.isGranted(content, null, Permissions.READ));
    assertTrue(pp.isGranted(a, null, Permissions.READ));
    assertFalse(pp.isGranted(c, null, Permissions.READ));
    assertTrue(pp.isGranted(content, null, Permissions.READ_ACCESS_CONTROL));
    assertTrue(pp.isGranted(a, null, Permissions.READ_ACCESS_CONTROL));
    assertTrue(pp.isGranted(c, null, Permissions.READ_ACCESS_CONTROL));
}
Also used : PermissionProvider(org.apache.jackrabbit.oak.spi.security.authorization.permission.PermissionProvider) Test(org.junit.Test)

Example 39 with PermissionProvider

use of org.apache.jackrabbit.oak.spi.security.authorization.permission.PermissionProvider in project jackrabbit-oak by apache.

the class CugEvaluationTest method testHasAllPrivileges2.

@Test
public void testHasAllPrivileges2() throws Exception {
    AccessControlManager acMgr = getAccessControlManager(root);
    AccessControlList acl = AccessControlUtils.getAccessControlList(acMgr, "/content/a");
    acl.addAccessControlEntry(testGroupPrincipal, privilegesFromNames(PrivilegeConstants.JCR_ALL));
    acMgr.setPolicy("/content/a", acl);
    root.commit();
    // testGroup
    PermissionProvider pp = createPermissionProvider(testGroupPrincipal);
    assertFalse(pp.hasPrivileges(root.getTree("/content"), PrivilegeConstants.JCR_ALL));
    assertTrue(pp.hasPrivileges(root.getTree("/content/a"), PrivilegeConstants.JCR_ALL));
    assertTrue(pp.hasPrivileges(root.getTree("/content/a/b"), PrivilegeConstants.JCR_ALL));
    assertFalse(pp.hasPrivileges(root.getTree("/content/a/b/c"), PrivilegeConstants.JCR_ALL));
}
Also used : AccessControlManager(javax.jcr.security.AccessControlManager) AccessControlList(javax.jcr.security.AccessControlList) PermissionProvider(org.apache.jackrabbit.oak.spi.security.authorization.permission.PermissionProvider) Test(org.junit.Test)

Example 40 with PermissionProvider

use of org.apache.jackrabbit.oak.spi.security.authorization.permission.PermissionProvider in project jackrabbit-oak by apache.

the class CugEvaluationTest method testIsGrantedTestUserEveryone.

@Test
public void testIsGrantedTestUserEveryone() throws Exception {
    // testUser + everyone
    PermissionProvider pp = createPermissionProvider(getTestUser().getPrincipal(), EveryonePrincipal.getInstance());
    assertTrue(pp.isGranted(content, null, Permissions.READ));
    assertFalse(pp.isGranted(a, null, Permissions.READ));
    assertTrue(pp.isGranted(c, null, Permissions.READ));
    assertFalse(pp.isGranted(content, null, Permissions.READ_ACCESS_CONTROL));
    assertFalse(pp.isGranted(a, null, Permissions.READ_ACCESS_CONTROL));
    assertFalse(pp.isGranted(c, null, Permissions.READ_ACCESS_CONTROL));
}
Also used : PermissionProvider(org.apache.jackrabbit.oak.spi.security.authorization.permission.PermissionProvider) Test(org.junit.Test)

Aggregations

PermissionProvider (org.apache.jackrabbit.oak.spi.security.authorization.permission.PermissionProvider)70 Test (org.junit.Test)65 AbstractSecurityTest (org.apache.jackrabbit.oak.AbstractSecurityTest)44 Tree (org.apache.jackrabbit.oak.api.Tree)21 AggregatedPermissionProvider (org.apache.jackrabbit.oak.spi.security.authorization.permission.AggregatedPermissionProvider)18 ContentSession (org.apache.jackrabbit.oak.api.ContentSession)15 Root (org.apache.jackrabbit.oak.api.Root)12 EmptyPermissionProvider (org.apache.jackrabbit.oak.spi.security.authorization.permission.EmptyPermissionProvider)11 TreePermission (org.apache.jackrabbit.oak.spi.security.authorization.permission.TreePermission)11 ImmutableTree (org.apache.jackrabbit.oak.plugins.tree.impl.ImmutableTree)8 PropertyState (org.apache.jackrabbit.oak.api.PropertyState)6 AccessControlManager (javax.jcr.security.AccessControlManager)4 CommitFailedException (org.apache.jackrabbit.oak.api.CommitFailedException)4 AuthorizationConfiguration (org.apache.jackrabbit.oak.spi.security.authorization.AuthorizationConfiguration)4 Principal (java.security.Principal)3 Nonnull (javax.annotation.Nonnull)3 AuthorizationConfigurationImpl (org.apache.jackrabbit.oak.security.authorization.AuthorizationConfigurationImpl)3 ConfigurationParameters (org.apache.jackrabbit.oak.spi.security.ConfigurationParameters)3 OpenAuthorizationConfiguration (org.apache.jackrabbit.oak.spi.security.authorization.OpenAuthorizationConfiguration)3 AccessControlList (javax.jcr.security.AccessControlList)2