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í sename
.
<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í sename
.
<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>
.