Hi all,
i´m wondering because a user i created and added to a specific group does not have the same Authorizations that i gave his Group. I authorized the Group “customers” to have access to the tastklist and Read and Create Instances of a certain process. The User has access to the tasklist but can not start a process. Could anybody guess why? Do i have to set the Authorization to Start a Process explicit for every User? The Code looks like this:
User rqu = new UserEntity();
rqu.setId("User");
rqu.setFirstName("FName");
rqu.setLastName("LName");
rqu.setPassword("customerpw");
rqu.setEmail(this.email);
identityservice.saveUser(rqu);
Group ag = identityservice.newGroup("customers");
ag.setName("Kunden");
ag.setType("WORKFLOW");
is.saveGroup(ag);
identityservice.createMembership("chunsa", "customers");
Authorization aTasklist = authorizationservice.createNewAuthorization(Authorization.AUTH_TYPE_GRANT);
aTasklist.setGroupId("customers");
aTasklist.setResource(Resources.APPLICATION);
aTasklist.setResourceId("tasklist");
aTasklist.addPermission(Permissions.ACCESS);
authorizationservice.saveAuthorization(aTasklist);
Authorization aProcessDefinition = as.createNewAuthorization(Authorization.AUTH_TYPE_GRANT);
Authorization aProcessInstance = as.createNewAuthorization(Authorization.AUTH_TYPE_GRANT);
aProcessDefinition.setGroupId("customers");
aProcessInstance.setGroupId("customers");
aProcessDefinition.setResource(Resources.PROCESS_DEFINITION);
aProcessInstance.setResource(Resources.PROCESS_INSTANCE);
aProcessDefinition.setResourceId("start_finding_sitter");
aProcessInstance.setResourceId("start_finding_sitter");
aProcessDefinition.addPermission(Permissions.CREATE_INSTANCE);
aProcessDefinition.addPermission(Permissions.READ);
aProcessInstance.addPermission(Permissions.CREATE);
aProcessDefinition.addPermission(Permissions.TASK_WORK);
aProcessInstance.addPermission(Permissions.TASK_WORK);
authorizationservice.saveAuthorization(aProcessDefinition);
authorizationservice.saveAuthorization(aProcessInstance);
Thanks ahead
Just solved the Problem on my own. Heres the right code (just the “*****” was the problem):
aProcessDefinition.setGroupId("customers");
aProcessInstance.setGroupId("customers");
aProcessDefinition.setResource(Resources.PROCESS_DEFINITION);
aProcessInstance.setResource(Resources.PROCESS_INSTANCE);
aProcessDefinition.setResourceId("start_finding_sitter");
aProcessInstance.setResourceId("*****");
aProcessDefinition.addPermission(Permissions.CREATE_INSTANCE);
aProcessDefinition.addPermission(Permissions.READ);
aProcessInstance.addPermission(Permissions.CREATE);
aProcessDefinition.addPermission(Permissions.TASK_WORK);
aProcessInstance.addPermission(Permissions.TASK_WORK);
authorizationservice.saveAuthorization(aProcessDefinition);
authorizationservice.saveAuthorization(aProcessInstance);