Do administračního rozhraní mají přístup pouze uživatelé, kteří patří do skupiny uživatelů editor (což jsou automaticky i členové skupin admin a sysAdmin – viz Zabezpečení a uživatelská práva). Skupina uživatelů user přístup do administrace nemá, ta se využívá jen pro zabezpečení stránky nebo její části. Ve výchozím nastavení platí, že každý uživatel, který má do administrace přístup, má také přístup k editaci veškerého obsahu.
Pro řízení přístupu k jednotlivých proměnným a kolekcím nebo dokonce jen jejich vybraným polím slouží atributy allowEditFor
a denyEditFor
elementů Var, Collection a všech elementů představujících jednotlivá datová pole (např. <SimpleText>
, <Img>
, ...) v deklaracích uvedených v Site.config. Na rozdíl od zabezpečení stránky nebo její části není možné v administraci omezit přístup k jednotlivým prvkům kolekce, ale pouze ke kolekci jako celku.
Příklad
Máme blog a na něm pod každým článkem diskuzní fórum. Návštěvnost měříme pomocí Google Analytics. Měřící kód zadáváme do proměnné přes administrační rozhraní. Chceme, aby měřící kód mohl měnit pouze uživatel ze skupiny sysAdmin a aby diskuzi ke článkům mohl spravovat kromě sysAdmin i moderátor z uživatelsky definované skupiny uživatelů moderator. Jak se uživatel stane členem skupiny moderator je popsáno v Zabezpečení a uživatelská práva v kapitole Uživatelsky definované skupiny uživatelů.
V Site.config si v části UserGroupSets zavedeme uživatelskou skupinu moderátora diskuze:
... <UserGroupSets> <UserGroup name="moderator" title="Moderator" /> </UserGroupSets> ...
Pro tento účel nám to takto plně postačuje. Skupinu moderator
a sysAdmin
nyní použijeme v atributech allowEditFor
(příp. denyEditFor
) u deklarovaných proměnných nebo kolekcí nebo jejich jednotlivch polí:
... <Vars> <Collection name="article" type="ArticleItem" /> <Var name="analyticsCode" type="AnalyticsCode" allowEditFor="sysAdmin" /> </Vars> ... <Types> <Type name="ArticleItem"> <SimpleText name="title" /> <Text name="text" /> <Collection name="comment" type="ArticleCommentItem" allowEditFor="sysAdmin, moderator" /> </Type> <Type name="ArticleCommentItem"> <SimpleText name="email" /> <Date name="date" /> <Text name="message" /> ... </Type> <Type name="AnalyticsCode"> <Text name="code" textInterpratation="html" /> </Type> </Types> ...