PowerWiki přejímá autorizační koncept JSPWiki, který je založen na modelu pomocí bezpečnostních entit jako jsou uživatel, role a uživatelská skupina. Pomocí tohoto modelu si může každý wiki autor omezit, kdo (uživatelé, skupiny) smí provádět jaké aktivity (náhled, editace) nad jeho stránkou. Nejprve je potřeba popsat zmíněné entity.
Ve wiki pracujeme standardně se 4 rolemi. Při prvním připojení dostane automaticky každý roli Anonymous. Po úspěšném přihlášení pomocí uživatelského jména a hesla se změní na roli Authenticated. V následující tabulce je znázorněno, jaké aktivity může standardně provádět která role.
Aktivita | Role | |||
---|---|---|---|---|
Anonymous | Asserted | Authenticated | Admin | |
zobrazit stránky | x | x | x | x |
editovat stránky | x | x | ||
vytvářet stránky | x | x | ||
přejmenovávat stránky | x | |||
souborové přílohy ke stránkám | x | x | ||
komentáře ke stránkám | x (jen několik konkrétních stran) | x | x | |
mazat stránky a přílohy | x | x | ||
vytvářet skupiny | x |
V levém sloupci Tabulky 1 je seznam všech možných aktivit. V záložkách ve spodní části obrazovky jsou odkazy na tyto aktivity, viditelné pouze když jsou povolené. Pokud chcete editovat stránku, je potřeba se nejdříve přihlásit, a poté bude viditelná např. akce Editovat stránku. Práva na aktivitami nad stránkou pro ostatní autor zadává pomocí speciálního ACL (access control lists) tagu.
ACL tagy se zapisují do horní části wiki stránky. Jejich syntaxe je
[{ALLOW akce kdo}]
Která nastavuje, "kdo" (seznamu) smí dělat "akci" s touto stranou.
Př.
[{ALLOW view Jana,Michal,Martin}]
Stránka je viditelná pouze uživatelům Jana, Michal a Martin.
[{ALLOW view Jana,Michal,Martin,Ucitele}] [{ALLOW edit Ucitele}]
Strana je viditelná třem uživatelům a všem co patří do skupiny učitelé. Učitelé smí tuto stránku i editovat.
Pro umožnění vkládání příloh uživateli Jana je nutné na stránce s ACL tagy přidat:
[{ALLOW upload Jana}]
Běžný případ stránek určitého předmětu na PowerWiki by tedy mohl vypadat například jako:
[{ALLOW view All}] [{ALLOW edit,upload Ucitele}]
V rámci zachování logiky akcí v ACL jsou některá práva nastavena automaticky (silnější práva povolí slabší).