2017-02-08 2 views
1

Je configure le flux de travail pour les demandes d'attribution/révocation d'un rôle dans OIM 11.1.2.3/SOA 11.1.1.9. Si la demande est initiée par un utilisateur qui est dans un rôle d'administration particulier et que la demande consiste à attribuer/révoquer un rôle particulier, je peux définir une règle de workflow pour approuver la demande et le rôle sera accordé. révoquer via le traitement «direct» sans workflow. Si la demande est initiée par un administrateur système, je peux utiliser une règle de workflow prête à l'emploi pour approuver la demande et le rôle sera accordé/révoqué via le traitement de flux de travail «direct».Flux de travail OIM/SOA de rejet de demande par défaut

Je dois rejeter la demande dans toute autre circonstance. Je pense que la façon de faire est de créer un composite de flux de travail SOA personnalisé qui a juste le résultat REJECT unique et le configurer comme la règle finale du flux de travail afin qu'il s'exécute si les règles précédentes ne correspondent pas.

Cette approche pour atteindre l'exigence est-elle correcte? Je ne veux pas déclencher d'interaction humaine, juste rejeter le changement et mettre fin au traitement.

Répondre

1

Nous avons décidé de satisfaire à cette exigence en utilisant un validateur de données au lieu d'un workflow REJECT SOA.

Nous avons créé un validateur personnalisé qui étend AssignRolesDataValidator. Si la demande est lancée par une personne qui n'est pas un administrateur système et qui ne figure pas dans le ou les rôles d'administration requis pour le rôle demandé, le validateur de données lève une exception InvalidRequestDataException et un message d'erreur s'affiche à l'écran. Le traitement continue uniquement et évalue les règles de flux de travail si la méthode validate() du validateur de données se termine sans exception, c'est-à-dire si la demande est autorisée à être effectuée par cet utilisateur. Les règles de workflow traitent simplement de la façon dont la demande est approuvée (dans chaque cas ci-dessus, via une affectation «directe» et sans workflow), plutôt que sur la décision d'approbation ou de rejet. Ceci a l'avantage de ne permettre que les requêtes 'valides' (affectation des rôles par des membres valides du rôle Admin) mais complique la configuration de la logique du flux. Nous devrons gérer à la fois le code du validateur de données et les règles de workflow.

Toute rétroaction/conseiller serait la bienvenue.