Doplněk implementační dokumentace pro XDS (sekce mapování uživatele), doplňující dvě nové vlastnosti:

p_impersonate– povolení impersonifikace;
boolean

impersonate– definice pravidel impersonifikace;
string
Použití v XDS
mapp-to-user="p_impersonate"
mapp-to-user="impersonate"
Příklad definování
<element
name="impersonifikace"
label="Impersonifikace"
mapp-to-user="p_impersonate"
data="type:boolean;"
/> <element
name="volby"
label="Volby impersonate"
appear-if="../impersonifikace"
mapp-to-user="impersonate"
data="type:boolean;"
/>appear-if, zobrazení elemnetu s mapováním
impersonatejen v případě obecného povolení prvku s mapováním
p_impersonate.
1. p_impersonate
Typ: booleanPopis
2. impersonate
Typ: string podle interní syntaktické strukturyVýznam: určuje rozsah a kritéria, podle kterých může být aktuální uživatel impersonifikován (tj. za koho a za jakých okolností se smí „přihlásit“).
Obecná syntaktická pravidla pole uživatele v aplikaci
Celý výraz je tvořen z několika částí oddělených středníkem ; nebo čárkou ,.Tyto oddělovače mají význam OR. Každá část může reprezentovat:

roli

roli + divizi

více divizí

uživatele podle UID

kombinace výše uvedeného

identifikace role a divizí se zapisuje pomocí pomlček -

hodnoty oddělené pomlčkou znamenají AND

identifikátory více rovnocenných divizí jsou OR
Speciální symboly

D — znamená divizi přihlášeného uživatele
(používá se pro omezení na „stejnou divizi“)

U — prefix označující identifikaci jednoho či více UID uživatelů
Kompletní forma výrazu
{{role[[D|-]division}...|U{uid{-...}[;,]}...}
3. Příklady výrazu impersonate
3.1. Podle role

"5"
Umožní impersonifikaci za uživatele s rolí 5 (napříč divizemi).
3.2. Podle role a stejné divize

"5D" nebo "5-D"
Pouze uživatelé v roli 5 ve stejné divizi, jako má přihlášený uživatel.
3.3. Podle role a několika divizí

"5-3-4"
Role 5 a divize 3 OR 4.
3.4. Role, více divizí i vlastní divize

"5-3-D-4"
Role 5 a divize 3 OR aktuální D OR 4.
3.5. Podle konkrétních uživatelů

"U123" – pouze uživatel UID 123

"U123-124-125" – UID 123 OR 124 OR 125

"U123;U124;U125" – totéž v alternativní syntaxi
3.6. Kombinace více rovin

"5;6;7" – role 5 OR 6 OR 7

"5-D-4;6-8-9;7D" – kombinace rolí a různých divizí

"5-D-4;U123-124;6-8-9;7D;U150-160" – role, divize i konkrétní uživatelé současně
4. Logika vyhodnocování

Středník / čárka = OR
→ postačí splnit jednu skupinu, např. "5-D-4;U123".

Role a divize uvnitř skupiny = AND
→ "5-3-4" znamená role 5 AND divize (3 OR 4).

D = stejná divize aktuálně přihlášeného uživatele
→ umožňuje dynamické omezení.

U = identifikace uživatelů podle UID
→ může být samostatný blok nebo kombinován.

Při povolení impersonifikace je vždy použit první vyhovující OR blok.