Search in sources :

Example 81 with TreePermission

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

the class CompositeTreePermissionTest method testParentNoRecourse.

@Test
public void testParentNoRecourse() throws Exception {
    TreePermission rootTp = createRootTreePermission(new NoScopeProvider(root));
    assertSame(TreePermission.NO_RECOURSE, rootTp);
}
Also used : TreePermission(org.apache.jackrabbit.oak.spi.security.authorization.permission.TreePermission) AbstractSecurityTest(org.apache.jackrabbit.oak.AbstractSecurityTest) Test(org.junit.Test)

Example 82 with TreePermission

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

the class CompositeProviderScopeTest method testTreePermissionCanReadAdmin.

@Test
public void testTreePermissionCanReadAdmin() {
    TreePermission parentPermission = TreePermission.EMPTY;
    for (String nodePath : TP_PATHS) {
        Tree tree = readOnlyRoot.getTree(nodePath);
        TreePermission tp = cppAdminUser.getTreePermission(tree, parentPermission);
        assertTrue(nodePath, tp.canRead());
        assertTrue(nodePath, tp.canRead(PROPERTY_STATE));
        parentPermission = tp;
    }
}
Also used : Tree(org.apache.jackrabbit.oak.api.Tree) TreePermission(org.apache.jackrabbit.oak.spi.security.authorization.permission.TreePermission) Test(org.junit.Test)

Example 83 with TreePermission

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

the class RepoPolicyTreePermissionTest method testCanReadPropertyAceNode.

@Test
public void testCanReadPropertyAceNode() throws Exception {
    Tree aceTree = root.getTree(REPO_POLICY_PATH).getChildren().iterator().next();
    PropertyState principalProp = aceTree.getProperty(REP_PRINCIPAL_NAME);
    TreePermission tp = getTreePermission(accessSession, aceTree.getPath());
    assertTrue(tp.canRead(principalProp));
}
Also used : Tree(org.apache.jackrabbit.oak.api.Tree) TreePermission(org.apache.jackrabbit.oak.spi.security.authorization.permission.TreePermission) PropertyState(org.apache.jackrabbit.oak.api.PropertyState) AbstractSecurityTest(org.apache.jackrabbit.oak.AbstractSecurityTest) Test(org.junit.Test)

Example 84 with TreePermission

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

the class RepoPolicyTreePermissionTest method testCanReadAceNode2.

@Test
public void testCanReadAceNode2() throws Exception {
    TreePermission tp = getTreePermission(noAccessSession, root.getTree(REPO_POLICY_PATH).getChildren().iterator().next().getPath());
    assertFalse(tp.canRead());
}
Also used : TreePermission(org.apache.jackrabbit.oak.spi.security.authorization.permission.TreePermission) AbstractSecurityTest(org.apache.jackrabbit.oak.AbstractSecurityTest) Test(org.junit.Test)

Example 85 with TreePermission

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

the class VersionTreePermissionTest method testGetChild.

@Test
public void testGetChild() throws Exception {
    Tree versionHistory = checkNotNull(vMgr.getVersionHistory(testTree));
    ImmutableTree t = (ImmutableTree) RootFactory.createReadOnlyRoot(root).getTree("/");
    TreePermission tp = pp.getTreePermission(t, TreePermission.EMPTY);
    for (String name : PathUtils.elements(versionHistory.getPath())) {
        t = t.getChild(name);
        tp = tp.getChildPermission(name, t.getNodeState());
    }
    String expectedPath = "/test";
    assertVersionPermission(tp, "/test", true);
    NodeState ns = t.getChild("1.0").getNodeState();
    tp = tp.getChildPermission("1.0", ns);
    assertVersionPermission(tp, "/test", true);
    ns = ns.getChildNode(JCR_FROZENNODE);
    tp = tp.getChildPermission(JCR_FROZENNODE, ns);
    assertVersionPermission(tp, "/test", true);
    for (String name : new String[] { "a", "b", "c" }) {
        ns = ns.getChildNode(name);
        expectedPath = PathUtils.concat(expectedPath, name);
        tp = tp.getChildPermission(name, ns);
        assertVersionPermission(tp, expectedPath, true);
    }
}
Also used : NodeState(org.apache.jackrabbit.oak.spi.state.NodeState) Tree(org.apache.jackrabbit.oak.api.Tree) ImmutableTree(org.apache.jackrabbit.oak.plugins.tree.impl.ImmutableTree) ImmutableTree(org.apache.jackrabbit.oak.plugins.tree.impl.ImmutableTree) TreePermission(org.apache.jackrabbit.oak.spi.security.authorization.permission.TreePermission) AbstractSecurityTest(org.apache.jackrabbit.oak.AbstractSecurityTest) Test(org.junit.Test)

Aggregations

TreePermission (org.apache.jackrabbit.oak.spi.security.authorization.permission.TreePermission)109 Test (org.junit.Test)94 Tree (org.apache.jackrabbit.oak.api.Tree)53 AbstractSecurityTest (org.apache.jackrabbit.oak.AbstractSecurityTest)41 ImmutableTree (org.apache.jackrabbit.oak.plugins.tree.impl.ImmutableTree)22 PermissionProvider (org.apache.jackrabbit.oak.spi.security.authorization.permission.PermissionProvider)11 NodeState (org.apache.jackrabbit.oak.spi.state.NodeState)10 AggregatedPermissionProvider (org.apache.jackrabbit.oak.spi.security.authorization.permission.AggregatedPermissionProvider)8 PropertyState (org.apache.jackrabbit.oak.api.PropertyState)6 Nonnull (javax.annotation.Nonnull)4 AccessControlManager (javax.jcr.security.AccessControlManager)4 Root (org.apache.jackrabbit.oak.api.Root)4 JackrabbitAccessControlList (org.apache.jackrabbit.api.security.JackrabbitAccessControlList)3 TreeType (org.apache.jackrabbit.oak.plugins.tree.TreeType)3 NodeUtil (org.apache.jackrabbit.oak.util.NodeUtil)3 Field (java.lang.reflect.Field)2 AuthorizationConfiguration (org.apache.jackrabbit.oak.spi.security.authorization.AuthorizationConfiguration)2 ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 CheckForNull (javax.annotation.CheckForNull)1