【问题标题】:Unable to detect the roles assigned to a user using simple if-else loop in SailPoint IIQ无法使用 SailPoint IIQ 中的简单 if-else 循环检测分配给用户的角色
【发布时间】:2021-10-29 12:23:54
【问题描述】:

我正在尝试编写一个 SailPoint IIQ 工作流程,如果用户是员工并且分配了角色 1,则循环将返回 true。此外,如果用户是临时工人并分配了角色 2,则循环将返回 true。否则,循环将返回“未配置角色”。用户是 Employee 并被分配了 Role 1,但循环仍然返回“Role not provisioned”。

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

代码如下:

【问题讨论】:

标签: sailpoint


【解决方案1】:

两件事:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-09
    • 2023-02-14
    相关资源
    最近更新 更多