use of org.camunda.bpm.engine.authorization.MissingAuthorization 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);
}
}
use of org.camunda.bpm.engine.authorization.MissingAuthorization in project camunda-bpm-platform by camunda.
the class IdentityServiceAuthorizationsTest method testTenantGroupMembershipCreateAuthorizations.
public void testTenantGroupMembershipCreateAuthorizations() {
Group group1 = identityService.newGroup("group1");
identityService.saveGroup(group1);
Tenant tenant1 = identityService.newTenant("tenant1");
identityService.saveTenant(tenant1);
// add base permission which allows nobody to create memberships
Authorization basePerms = authorizationService.createNewAuthorization(AUTH_TYPE_GLOBAL);
basePerms.setResource(TENANT_MEMBERSHIP);
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.createTenantGroupMembership("tenant1", "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(), TENANT_MEMBERSHIP.resourceName(), "tenant1", info);
}
}
use of org.camunda.bpm.engine.authorization.MissingAuthorization in project camunda-bpm-platform by camunda.
the class IdentityServiceAuthorizationsTest method testUserDeleteAuthorizations.
public void testUserDeleteAuthorizations() {
// crate user while still in god-mode:
User jonny1 = identityService.newUser("jonny1");
identityService.saveUser(jonny1);
// create global auth
Authorization basePerms = authorizationService.createNewAuthorization(AUTH_TYPE_GLOBAL);
basePerms.setResource(USER);
basePerms.setResourceId(ANY);
basePerms.addPermission(ALL);
// revoke delete
basePerms.removePermission(DELETE);
authorizationService.saveAuthorization(basePerms);
// turn on authorization
processEngineConfiguration.setAuthorizationEnabled(true);
identityService.setAuthenticatedUserId(jonny2);
try {
identityService.deleteUser("jonny1");
fail("exception expected");
} catch (AuthorizationException e) {
assertEquals(1, e.getMissingAuthorizations().size());
MissingAuthorization info = e.getMissingAuthorizations().get(0);
assertEquals(jonny2, e.getUserId());
assertExceptionInfo(DELETE.getName(), USER.resourceName(), "jonny1", info);
}
}
use of org.camunda.bpm.engine.authorization.MissingAuthorization in project camunda-bpm-platform by camunda.
the class UnannotatedResource method throwAuthorizationExceptionMultiple.
@GET
@Path("/authorizationExceptionMultiple")
public String throwAuthorizationExceptionMultiple() throws Exception {
List<MissingAuthorization> missingAuthorizations = new ArrayList<MissingAuthorization>();
missingAuthorizations.add(new MissingAuthorization("somePermission1", "someResourceName1", "someResourceId1"));
missingAuthorizations.add(new MissingAuthorization("somePermission2", "someResourceName2", "someResourceId2"));
throw new AuthorizationException("someUser", missingAuthorizations);
}
Aggregations