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
titleuvedeno, 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
titleuvedeno, 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>.