Search in sources :

Example 6 with Group

use of org.apache.jackrabbit.api.security.user.Group in project jackrabbit-oak by apache.

the class DefaultSyncContextTest method testApplyMembership.

@Test
public void testApplyMembership() throws Exception {
    User u = getTestUser();
    Group gr = createTestGroup();
    syncCtx.applyMembership(u, ImmutableSet.of(gr.getID()));
    assertTrue(gr.isDeclaredMember(u));
    assertTrue(root.hasPendingChanges());
}
Also used : Group(org.apache.jackrabbit.api.security.user.Group) ExternalGroup(org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalGroup) User(org.apache.jackrabbit.api.security.user.User) ExternalUser(org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalUser) AbstractExternalAuthTest(org.apache.jackrabbit.oak.spi.security.authentication.external.AbstractExternalAuthTest) Test(org.junit.Test)

Example 7 with Group

use of org.apache.jackrabbit.api.security.user.Group in project jackrabbit-oak by apache.

the class AbstractAddMembersByIdTest method addExistingMemberWithoutAccess.

Set<String> addExistingMemberWithoutAccess() throws Exception {
    AccessControlManager acMgr = getAccessControlManager(root);
    JackrabbitAccessControlList acl = AccessControlUtils.getAccessControlList(acMgr, testGroup.getPath());
    if (acl != null) {
        if (acl.addEntry(getTestUser().getPrincipal(), privilegesFromNames(PrivilegeConstants.JCR_READ, PrivilegeConstants.REP_USER_MANAGEMENT), true)) {
            acMgr.setPolicy(testGroup.getPath(), acl);
            root.commit();
        }
    }
    String userId = getTestUser().getID();
    ContentSession testSession = null;
    try {
        testSession = login(new SimpleCredentials(userId, userId.toCharArray()));
        Root testRoot = testSession.getLatestRoot();
        assertFalse(testRoot.getTree(memberGroup.getPath()).exists());
        Group gr = getUserManager(testRoot).getAuthorizable(testGroup.getID(), Group.class);
        Set<String> failed = gr.addMembers(memberGroup.getID());
        testRoot.commit();
        return failed;
    } finally {
        if (testSession != null) {
            testSession.close();
        }
    }
}
Also used : AccessControlManager(javax.jcr.security.AccessControlManager) SimpleCredentials(javax.jcr.SimpleCredentials) Group(org.apache.jackrabbit.api.security.user.Group) Root(org.apache.jackrabbit.oak.api.Root) ContentSession(org.apache.jackrabbit.oak.api.ContentSession) JackrabbitAccessControlList(org.apache.jackrabbit.api.security.JackrabbitAccessControlList)

Example 8 with Group

use of org.apache.jackrabbit.api.security.user.Group in project jackrabbit-oak by apache.

the class AbstractAddMembersByIdTest method testEveryoneAsMember.

@Test
public void testEveryoneAsMember() throws Exception {
    UserManagerImpl userManager = (UserManagerImpl) getUserManager(root);
    Group everyone = userManager.createGroup(EveryonePrincipal.getInstance());
    try {
        Set<String> failed = testGroup.addMembers(everyone.getID());
        assertFalse(failed.isEmpty());
        assertTrue(failed.contains(everyone.getID()));
        root.commit();
        assertFalse(testGroup.isDeclaredMember(everyone));
        assertFalse(testGroup.isMember(everyone));
        for (Iterator<Group> it = everyone.memberOf(); it.hasNext(); ) {
            assertNotEquals(testGroup.getID(), it.next().getID());
        }
        for (Iterator<Group> it = everyone.declaredMemberOf(); it.hasNext(); ) {
            assertNotEquals(testGroup.getID(), it.next().getID());
        }
        boolean found = false;
        MembershipProvider mp = userManager.getMembershipProvider();
        for (Iterator<String> it = mp.getMembership(root.getTree(everyone.getPath()), true); it.hasNext(); ) {
            String p = it.next();
            if (testGroup.getPath().equals(p)) {
                found = true;
            }
        }
        assertFalse(found);
    } finally {
        everyone.remove();
        root.commit();
    }
}
Also used : Group(org.apache.jackrabbit.api.security.user.Group) AbstractSecurityTest(org.apache.jackrabbit.oak.AbstractSecurityTest) Test(org.junit.Test)

Example 9 with Group

use of org.apache.jackrabbit.api.security.user.Group in project jackrabbit-oak by apache.

the class UserQueryManagerTest method testQueryNoScope.

@Test
public void testQueryNoScope() throws Exception {
    Group g = createGroup(null, EveryonePrincipal.getInstance());
    g.setProperty(propertyName, v);
    user.setProperty(propertyName, v);
    root.commit();
    Query q = new Query() {

        @Override
        public <T> void build(QueryBuilder<T> builder) {
            builder.setCondition(builder.eq(propertyName, v));
        }
    };
    Iterator<Authorizable> result = queryMgr.findAuthorizables(q);
    assertResultContainsAuthorizables(result, user, g);
}
Also used : Group(org.apache.jackrabbit.api.security.user.Group) Query(org.apache.jackrabbit.api.security.user.Query) Authorizable(org.apache.jackrabbit.api.security.user.Authorizable) QueryBuilder(org.apache.jackrabbit.api.security.user.QueryBuilder) AbstractSecurityTest(org.apache.jackrabbit.oak.AbstractSecurityTest) Test(org.junit.Test)

Example 10 with Group

use of org.apache.jackrabbit.api.security.user.Group in project jackrabbit-oak by apache.

the class UserQueryManagerTest method createGroup.

private Group createGroup(@Nullable String id, @Nullable Principal principal) throws RepositoryException {
    Group g;
    if (id != null) {
        if (principal != null) {
            g = getUserManager(root).createGroup(id, principal, null);
        } else {
            g = getUserManager(root).createGroup(id);
        }
    } else {
        checkNotNull(principal);
        g = getUserManager(root).createGroup(principal);
    }
    groups.add(g);
    return g;
}
Also used : Group(org.apache.jackrabbit.api.security.user.Group)

Aggregations

Group (org.apache.jackrabbit.api.security.user.Group)391 Test (org.junit.Test)205 Authorizable (org.apache.jackrabbit.api.security.user.Authorizable)119 User (org.apache.jackrabbit.api.security.user.User)119 UserManager (org.apache.jackrabbit.api.security.user.UserManager)87 Principal (java.security.Principal)71 RepositoryException (javax.jcr.RepositoryException)53 AbstractSecurityTest (org.apache.jackrabbit.oak.AbstractSecurityTest)35 ExternalGroup (org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalGroup)33 ArrayList (java.util.ArrayList)31 Session (javax.jcr.Session)29 JackrabbitSession (org.apache.jackrabbit.api.JackrabbitSession)27 EveryonePrincipal (org.apache.jackrabbit.oak.spi.security.principal.EveryonePrincipal)26 AbstractExternalAuthTest (org.apache.jackrabbit.oak.spi.security.authentication.external.AbstractExternalAuthTest)22 PrincipalImpl (org.apache.jackrabbit.oak.spi.security.principal.PrincipalImpl)22 HashSet (java.util.HashSet)21 Privilege (javax.jcr.security.Privilege)21 EveryonePrincipal (org.apache.jackrabbit.core.security.principal.EveryonePrincipal)21 Query (org.apache.jackrabbit.api.security.user.Query)19 TestPrincipal (org.apache.jackrabbit.core.security.TestPrincipal)18