无法使用 SailPoint IIQ 中的简单 if-else 循环检测分配给用户的角色

Unable to detect the roles assigned to a user using simple if-else loop in SailPoint IIQ

我正在尝试编写一个 SailPoint IIQ 工作流,如果用户是员工并且分配了角色 1,则循环将 return 为真。此外,如果用户是临时工并且分配了角色 2,则循环将 return 为真。否则循环将 return“角色未提供”。用户是一名员工并分配了角色 1,但仍然是循环 return“角色未提供”。

流程正在进入主 ELSE 循环,它能够读取 empType,但无法读取“assignedRoles.contains()”。

代码如下:

两件事:

  1. 方法Identity.getAssignedRoles()returns一个Bundle,不是字符串。它永远不会 contain() 一个字符串。您需要从分配的角色列表中提取名称。

  2. 我会改用getRoleAssignments,因为它处理负角色分配的情况用户被分配两次角色的情况具有不同的目标。