UserGroupSets

Sekce <UserGroupSets> souboru Site.config slouží k definici skupin uživatelů a jejich sad.

<JellyPotDef>
    ...
    <UserGroupSets>
        <SysUserGroup name="anybody" title="Anybody" />
        <UserGroup name="subscriber" title="Subscriber" />
        <Set name="Users" members="anybody, subscriber" />
    </UserGroupSets>
    ...
</JellyPotDef>

Takto definované skupiny a jejich sady lze poté používat v polích typu <UserGroups> a zařazovat do nich uživatele v administraci. Obecně o skupinách uživatelů a zabezpeční viz Zabezpečení a uživatelská práva.

Vnitřní tagy

<UserGroup>

Tag definuje jednu uživatelskou skupinu uživatelů.

  • name povinný [string]

    Jedinečné jméno skupiny. Nesmí se shodovat se jménem některé ze systémových skupin uživatelů (viz Zabezpečení a uživatelská práva). Smí obsahovat pouze číslice a písmena bez diakritiky. Doporučuje se jména uvádět s počátečním malým písmenem (viz Konvence pojmenování).

  • title nepovinný [string]

    Uživatelský název skupiny uživatelů, který se zobrazí v administračním rozhraní. Není-li title uvedeno, zobrazí se name.

<SysUserGroup>

Tag registruje jednu systémovou skupinu uživatelů pro její použití v administraci.

  • name povinný [string]

    Jméno jedné ze systémových skupin (viz Zabezpečení a uživatelská práva).

  • title nepovinný [string]

    Uživatelský název skupiny uživatelů, který se zobrazí v administračním rozhraní. Není-li title uvedeno, zobrazí se name.

<Set>

Tag definuje sadu skupin uživatelů.

  • members povinný [string]

    Výčet jmen skupin uživatelů, které budou nabízeny v poli typu <UserGroups> odkazujícího na tuto sadu. Výčet může obsahovat jak systémové tak uživatelské skupiny uživatelů.

  • name povinný [string]

    Jedinečné jméno sady. Smí obsahovat pouze číslice a písmena bez diakritiky. Doporučuje se jména uvádět s počátečním malým písmenem (viz Konvence pojmenování).

Příklad

Provozujeme web s články s možností předplatného. Některé články jsou k dispozici zcela volně, některé pouze předplatitelům a některé dokonce pouze VIP předplatitelům. Deklarace datového modelu v Site.config tedy bude vypadat takto:

...
<UserGroupSets>
    <SysUserGroup name="anybody" title="Anybody" />
    <UserGroup name="subscriber" title="Subscriber" />
    <UserGroup name="subscriberVip" title="VIP Subscriber" />
    <Set name="Visitors" members="anybody, subscriber, subscriberVip" />
</UserGroupSets>
...
<Vars>
    <Collection name="Article" type="ArticleItem" />
</Vars>
...
<Types>
    <Type name="ArticleItem">
        <SimpleText name="title" />
        <Text name="text" />
        <UserGroups name="allowAccessFor" set="Visitors" />
    </Type>
</Types>
...

V administračním rozhraní takto můžeme u jednotlivých článků typu ArticleItem zvolit, kterým skupinám uživatelů mají být přístupné. Aby to opravdu fungovalo, musíme pak ještě v .aspx zabezpečit přístup k stránce článku pomocí controlu <je:securePage>.

Připomínky a postřehy

Máte-li nějakou připomínku, dobrý nápad nebo jste našli v dokumentaci chybu, rádi od vás uslyšíme.