Identity Manager – zákaz změny hesla pro některé uživatele

Během vytváření živého demo systému jsem narazil na pár věcí, které postupně popíšu. Jednou z nich je zakázání změny hesla v Identity Manageru a to pouze pro některé uživatele. V mém případě se jedná o testovacího administrátora a pár demo uživatelů.

Změnu hesla má na starosti workflow s názvem Change User Password, v tomto workflow provedeme menší úpravu v aktivitě s názvem Start. Je třeba přidat propojení přímo na End s podmínkou, kde se provede kontrola uživatele pro kterého se heslo mění.

<Activity id='0' name='start'>
  <Transition to='end'>
    <contains>
      <list>
        <s>novak</s>
        <s>novotny</s>
        <s>admin</s>
      </list>
      <ref>accountId</ref>
    </contains>
  </Transition>
  <Transition to='Commit'>
    <ref>view</ref>
  </Transition>
  <Transition to='Reprovision'/>
  <WorkflowEditor x='43' y='10'/>
</Activity>

Přiložená ukázka (pouze akce Start z celého workflow) kontroluje login uživatele, pro vybrané uživatele s loginem admin, novak a novotny heslu změna neprovede. Samozřejmě je možné podmínku rozšířit a kontrolovat kdo heslo mění a podobně.