Možnosti impersonifikace – vlastnosti p_impersonate a impersonate

Upravit obsah stránky

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

    p_impersonate
    – povolení impersonifikace; 
    boolean

    bullet

    impersonate
    – definice pravidel impersonifikace; 
    string


Použití v XDS

 mapp-to-user="p_impersonate" 
mapp-to-user="impersonate"

Příklad definování

V dokumentu uživatele je třeba v případě implementace této funkce potřeba definovat oba prvky (mapovat obě volby)
 <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;" />


Při tomto mapování na prvky, viz. příklad obrázku, jsou pak na formuláři uživatele k dispozici 2 pole, kdy například u druhého můžeme nastavit 
appear-if
, zobrazení elemnetu s mapováním
impersonate
jen v případě obecného povolení prvku s mapováním
p_impersonate
.


1. p_impersonate

Typ: boolean
Výchozí hodnota: false

Popis

Vlastnost p_impersonate určuje, zda daný uživatel má možnost přihlsit se za některého jiného uživatele (p_admin má tuto možnost automaticky), tj. může využívat impersonifikaci, případně za jakou roli/divizi podle definovaných pravidel vlastnost impersonate. Pokud je prvek s mapováním p_impersonate = false, jakékoli pravidlo uvedené ve vlastnosti impersonate se ignoruje. Pokud je true, Flexideo server vyhodnocuje pravidla ( impersonate) a ověřuje, zda přihlášený uživatel může impersonifikaci využít.

2.  impersonate

Typ: string podle interní syntaktické struktury
Vý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:
    bullet

    roli

    bullet

    roli + divizi

    bullet

    více divizí

    bullet

    uživatele podle UID

    bullet

    kombinace výše uvedeného

Uvnitř jednotlivého bloku (mezi středníky) platí:
    bullet

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

    bullet

    hodnoty oddělené pomlčkou znamenají AND

    bullet

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


Speciální symboly

    bullet

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

    bullet

    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

    bullet

    "5"
    Umožní impersonifikaci za uživatele s rolí 5 (napříč divizemi).

3.2. Podle role a stejné divize

    bullet

    "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í

    bullet

    "5-3-4"
    Role 5 a divize 3 OR 4.

3.4. Role, více divizí i vlastní divize

    bullet

    "5-3-D-4"
    Role 5 a divize 3 OR aktuální D OR 4.

3.5. Podle konkrétních uživatelů

    bullet

    "U123" – pouze uživatel UID 123

    bullet

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

    bullet

    "U123;U124;U125" – totéž v alternativní syntaxi

3.6. Kombinace více rovin

    bullet

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

    bullet

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

    bullet

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

4. Logika vyhodnocování

    bullet

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

    bullet

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

    bullet

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

    bullet

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

    bullet

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