主权项 |
1. A computer-implemented method for selecting a workflow of a plurality of workflows to perform a task, the method comprising:
associating by an identity server each workflow of the plurality of workflows with a different corresponding portion of a hierarchical directory structure, each portion of the directory structure storing identity profile object information associated with a plurality of different entities, wherein the plurality of difference entities comprise at least one organization, at least one group within the organization, and at least one user within the group, wherein the plurality of workflows comprises workflows that are different from each other, and wherein each workflow in the plurality of workflows is capable of performing the task; receiving by the identity server a request to perform the task wherein the task affects a first identity profile object associated with one of the entities and storing identity information for the associated entity; determining by the identity server a portion of the directory structure storing identity profile object information for the entity associated with the first identity profile object; determining by the identity server a workflow associated with the determined portion of the directory structure and capable of performing the task; performing, by the identity server as part of said workflow, a first task to affect the first identity profile, said identity profile comprising information for determining a set of access rights; and starting by the identity server a subflow of said workflow, wherein the starting of the subflow includes providing a callback command that can be used to restart said workflow; performing, as part of said subflow, a second task pertaining to said identity profile; accessing an indication of whether said workflow should wait for said subflow to complete said second task, wherein said indication is a result code indicating that said workflow should pause, wherein the pause include waiting to invoke said workflow until said callback command is invoked; and waiting for said subflow to complete said second task if said indication indicates to wait for said subflow to complete said second task. |