OIM / SOA默认请求拒绝工作流程

时间:2017-02-08 07:09:48

标签: soa identity-management oim

我正在为在OIM 11.1.2.3 / SOA 11.1.1.9中授予/撤销角色的请求配置工作流程。

如果请求是由处于特定管理员角色的用户发起的,并且请求是分配/撤消特定角色,我可以设置工作流规则来批准请求,并且将授予/撤消角色通过'直接'无工作流程处理。

如果请求是由系统管理员发起的,我可以使用开箱即用的工作流规则来批准请求,并通过“直接”无工作流程处理来授予/撤销角色。

我需要在任何其他情况下拒绝该请求。

我认为这样做的方法是创建一个自定义SOA工作流组合,它只有单个REJECT结果并将其配置为最终工作流规则,以便在早期规则不匹配时执行它。

这种方法是否符合要求?我不想触发任何人为干预,只是拒绝改变并结束处理。

1 个答案:

答案 0 :(得分:1)

我们决定使用数据验证器而不是REJECT SOA工作流来实现此要求。

我们创建了一个扩展AssignRolesDataValidator的自定义验证器。 如果请求是由非sysadmin且未在所请求角色的所需Admin Role中的任何人发起的,则数据验证程序将抛出InvalidRequestDataException并在屏幕上显示错误消息。 如果数据验证器validate()方法在没有异常的情况下完成,即如果允许该用户进行请求,则处理仅继续并评估工作流规则。 然后,工作流程规则只是处理请求的批准方式(在上面的每种情况下,通过直接'分配和无工作流程),而不是批准或拒绝的决定。

这样做的好处是只允许有效的'请求(由有效的管理员角色成员分配角色)但复杂化了流的逻辑配置方式。 我们需要维护数据验证器代码和工作流规则。

欢迎任何反馈/建议。