I have a problem trying to create authorization, i’m getting a BatchExecutorException saying :
Unique index or primary key violation: "ACT_UNIQ_AUTH_USER_INDEX_6 ON PUBLIC.ACT_RU_AUTHORIZATION(TYPE_, USER_ID_, RESOURCE_TYPE_, RESOURCE_ID_) VALUES (1, NULL, 8, ‘*’, 11);
@PostDeploy
public void initialize() {
Group group = identityService.newGroup("test_group");
group.setName("test_group");
identityService.saveGroup(group);
addAuthorizationGroup(Resources.PROCESS_INSTANCE, Authorization.ANY, group.getId(), new Permission[] {Permissions.READ, Permissions.CREATE});
addAuthorizationGroup(Resources.PROCESS_DEFINITION, "*", group.getId(), new Permission[] {Permissions.READ, Permissions.CREATE, Permissions.CREATE_INSTANCE});
}
private void addAuthorizationGroup(Resource resource, String resourceId,
String groupId, Permission[] permissions) {
Authorization newAuthorization = authorizationService.createNewAuthorization(Authorization.AUTH_TYPE_GRANT);
newAuthorization.setGroupId(groupId);
newAuthorization.setResource(resource);
newAuthorization.setResourceId(resourceId);
for (Permission permission : permissions) {
newAuthorization.addPermission(permission);
}
authorizationService.saveAuthorization(newAuthorization);
}
The error does not seem to appear if I mention a particular resourceId. I think it is related to “*” (asterisk)