Search in sources :

Example 26 with Group

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

the class DefaultSyncContextTest method testSyncExternalToForeignLocalGroup.

@Test
public void testSyncExternalToForeignLocalGroup() throws Exception {
    ExternalGroup external = idp.listGroups().next();
    syncCtx.sync(external);
    Group gr = userManager.getAuthorizable(external.getId(), Group.class);
    setExternalID(gr, "differentIDP");
    SyncResult result = syncCtx.sync(external);
    assertEquals(SyncResult.Status.FOREIGN, result.getStatus());
    SyncedIdentity si = result.getIdentity();
    assertNotNull(si);
    assertEquals(external.getExternalId(), si.getExternalIdRef());
}
Also used : Group(org.apache.jackrabbit.api.security.user.Group) ExternalGroup(org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalGroup) ExternalGroup(org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalGroup) SyncedIdentity(org.apache.jackrabbit.oak.spi.security.authentication.external.SyncedIdentity) SyncResult(org.apache.jackrabbit.oak.spi.security.authentication.external.SyncResult) AbstractExternalAuthTest(org.apache.jackrabbit.oak.spi.security.authentication.external.AbstractExternalAuthTest) Test(org.junit.Test)

Example 27 with Group

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

the class DefaultSyncContextTest method testGetAuthorizableGroup.

@Test
public void testGetAuthorizableGroup() throws Exception {
    ExternalIdentity extGroup = idp.listGroups().next();
    Group gr = syncCtx.getAuthorizable(extGroup, Group.class);
    assertNull(gr);
    sync(extGroup);
    gr = syncCtx.getAuthorizable(extGroup, Group.class);
    assertNotNull(gr);
}
Also used : Group(org.apache.jackrabbit.api.security.user.Group) ExternalGroup(org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalGroup) ExternalIdentity(org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalIdentity) AbstractExternalAuthTest(org.apache.jackrabbit.oak.spi.security.authentication.external.AbstractExternalAuthTest) Test(org.junit.Test)

Example 28 with Group

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

the class DefaultSyncContextTest method testIsSameIDPForeign.

@Test
public void testIsSameIDPForeign() throws Exception {
    Group gr = createTestGroup();
    setExternalID(gr, "some_other_idp");
    assertFalse(syncCtx.isSameIDP(gr));
}
Also used : Group(org.apache.jackrabbit.api.security.user.Group) ExternalGroup(org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalGroup) AbstractExternalAuthTest(org.apache.jackrabbit.oak.spi.security.authentication.external.AbstractExternalAuthTest) Test(org.junit.Test)

Example 29 with Group

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

the class DynamicSyncContextTest method testSyncUserIdExistingGroups.

@Test
public void testSyncUserIdExistingGroups() throws Exception {
    ExternalUser externalUser = idp.getUser(USER_ID);
    DefaultSyncContext ctx = new DefaultSyncContext(syncConfig, idp, userManager, valueFactory);
    ctx.sync(externalUser);
    ctx.close();
    Authorizable user = userManager.getAuthorizable(externalUser.getId());
    for (ExternalIdentityRef ref : externalUser.getDeclaredGroups()) {
        Group gr = userManager.getAuthorizable(ref.getId(), Group.class);
        assertTrue(gr.isMember(user));
    }
    syncContext.setForceUserSync(true);
    syncContext.sync(externalUser.getId());
    Authorizable a = userManager.getAuthorizable(USER_ID);
    Tree t = r.getTree(a.getPath());
    assertFalse(t.hasProperty(ExternalIdentityConstants.REP_EXTERNAL_PRINCIPAL_NAMES));
    assertSyncedMembership(userManager, a, externalUser);
}
Also used : Group(org.apache.jackrabbit.api.security.user.Group) ExternalGroup(org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalGroup) DefaultSyncContext(org.apache.jackrabbit.oak.spi.security.authentication.external.basic.DefaultSyncContext) ExternalIdentityRef(org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalIdentityRef) ExternalUser(org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalUser) Authorizable(org.apache.jackrabbit.api.security.user.Authorizable) Tree(org.apache.jackrabbit.oak.api.Tree) AbstractExternalAuthTest(org.apache.jackrabbit.oak.spi.security.authentication.external.AbstractExternalAuthTest) Test(org.junit.Test)

Example 30 with Group

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

the class DefaultSyncContextTest method testSyncExternalToExistingLocalGroup.

@Test
public void testSyncExternalToExistingLocalGroup() throws Exception {
    ExternalGroup external = idp.listGroups().next();
    syncCtx.sync(external);
    Group gr = userManager.getAuthorizable(external.getId(), Group.class);
    gr.removeProperty(ExternalIdentityConstants.REP_EXTERNAL_ID);
    SyncResult result = syncCtx.sync(external);
    assertEquals(SyncResult.Status.FOREIGN, result.getStatus());
    SyncedIdentity si = result.getIdentity();
    assertNotNull(si);
    assertEquals(external.getExternalId(), si.getExternalIdRef());
}
Also used : Group(org.apache.jackrabbit.api.security.user.Group) ExternalGroup(org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalGroup) ExternalGroup(org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalGroup) SyncedIdentity(org.apache.jackrabbit.oak.spi.security.authentication.external.SyncedIdentity) SyncResult(org.apache.jackrabbit.oak.spi.security.authentication.external.SyncResult) AbstractExternalAuthTest(org.apache.jackrabbit.oak.spi.security.authentication.external.AbstractExternalAuthTest) Test(org.junit.Test)

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