Search in sources :

Example 6 with GroupEntity

use of org.camunda.bpm.engine.impl.persistence.entity.GroupEntity in project camunda-bpm-platform by camunda.

the class IdentityServiceAuthorizationsTest method testGroupCreateAuthorizations.

public void testGroupCreateAuthorizations() {
    // add base permission which allows nobody to create groups:
    Authorization basePerms = authorizationService.createNewAuthorization(AUTH_TYPE_GLOBAL);
    basePerms.setResource(GROUP);
    basePerms.setResourceId(ANY);
    // add all then remove 'create'
    basePerms.addPermission(ALL);
    basePerms.removePermission(CREATE);
    authorizationService.saveAuthorization(basePerms);
    processEngineConfiguration.setAuthorizationEnabled(true);
    identityService.setAuthenticatedUserId(jonny2);
    try {
        identityService.newGroup("group1");
        fail("exception expected");
    } catch (AuthorizationException e) {
        assertEquals(1, e.getMissingAuthorizations().size());
        MissingAuthorization info = e.getMissingAuthorizations().get(0);
        assertEquals(jonny2, e.getUserId());
        assertExceptionInfo(CREATE.getName(), GROUP.resourceName(), null, info);
    }
    // circumvent auth check to get new transient userobject
    Group group = new GroupEntity("group1");
    try {
        identityService.saveGroup(group);
        fail("exception expected");
    } catch (AuthorizationException e) {
        assertEquals(1, e.getMissingAuthorizations().size());
        MissingAuthorization info = e.getMissingAuthorizations().get(0);
        assertEquals(jonny2, e.getUserId());
        assertExceptionInfo(CREATE.getName(), GROUP.resourceName(), null, info);
    }
}
Also used : MissingAuthorization(org.camunda.bpm.engine.authorization.MissingAuthorization) Authorization(org.camunda.bpm.engine.authorization.Authorization) Group(org.camunda.bpm.engine.identity.Group) MissingAuthorization(org.camunda.bpm.engine.authorization.MissingAuthorization) AuthorizationException(org.camunda.bpm.engine.AuthorizationException) GroupEntity(org.camunda.bpm.engine.impl.persistence.entity.GroupEntity)

Aggregations

GroupEntity (org.camunda.bpm.engine.impl.persistence.entity.GroupEntity)6 Group (org.camunda.bpm.engine.identity.Group)2 TenantMembershipEntity (org.camunda.bpm.engine.impl.persistence.entity.TenantMembershipEntity)2 ArrayList (java.util.ArrayList)1 AuthenticationException (javax.naming.AuthenticationException)1 NamingException (javax.naming.NamingException)1 SearchResult (javax.naming.directory.SearchResult)1 AuthorizationException (org.camunda.bpm.engine.AuthorizationException)1 BadUserRequestException (org.camunda.bpm.engine.BadUserRequestException)1 Authorization (org.camunda.bpm.engine.authorization.Authorization)1 MissingAuthorization (org.camunda.bpm.engine.authorization.MissingAuthorization)1 IdentityProviderException (org.camunda.bpm.engine.impl.identity.IdentityProviderException)1 MembershipEntity (org.camunda.bpm.engine.impl.persistence.entity.MembershipEntity)1 TenantEntity (org.camunda.bpm.engine.impl.persistence.entity.TenantEntity)1 UserEntity (org.camunda.bpm.engine.impl.persistence.entity.UserEntity)1