15. 12. 2009

PostNuke - Práva v praxi : statické stránky

Pokud jste prošli nastavováním práv pro články, ostatní již bude procházka růžovým sadem. První na řadě budou statické stránky.

Komponenty

Práva pro statické stránky zajišťují dvě komponenty, které najdete v souboru modules/Sections/pnversion.php:
  • 'Sections::Section' => 'Section path:Section name:Section ID'
  • 'Sections::Article' => 'Author ID::Article ID'
Komponenta Sections::Section zajišťuje přístup ke stránkám, umístěným do jednotlivých sekcí (nebo chcete-li složek). Ukážeme si příklady instancí:
  • :Informace: - určuje práva pro stránky v sekci Informace.
  • ::6 - nastavuje omezení pro stránky v sekci s ID=6.
  • Třídy//.*:: - zde se využívá cesty ke statickým stránkám. Tímto zápisem určujeme práva pro všechny stránky, které se nacházejí v sekci Třídy a to stránek ve vnořených sekcích. Pokud vám není zápis zřejmý, doporučuji prostudování regulárních výrazů.
    Poznámka: Samozřejmě je možné využít i seznam sekcí, uvedených v prostřední části instance nebo seznam ID, uvedené na konci instance
Chcete-li navíc omezit přístupy na konkrétní články, využijete komponenty Sections::Article. Instance potom nabízí omezení podle autora nebo statické stránky:
  • 2:: - určuje stránky, u kterých je autorem uživatel s ID=2.
  • ::4 - nastavuje práva pro statickou stránku s ID=4. Je logické, že v tomto případě by bylo opět výhodnější napsat seznam ID pomocí regulárnío výrazu.

Síla práv

Statické stránky již používají méně práv než články:
  • None = Nic : dané stránky nejsou zobrazovány
  • Read = Číst : obsah stránek je možné zobrazit
  • Edit = Úprava : uživatel může upravovat obsah stránky a to i tehdy, pokud není jeho autorem
  • Delete = Smazat : uživatel je oprávněn smazat stránku a to i tehdy, pokud není jeho autorem
  • Admin = Administrátor : uživatel má plná práva a tudíž může plně konfigurovat modul

Omezujeme přístup prostřednictvím sekcí

Pro tento případ využijeme skupinu Sekretariát a Rodiče. Zároveň budeme nastavovat práva pro sekci Informace pro rodiče a to včetně vnořených objektů. Uživatelé ze sekretariátu mohou obsah stránek měnit i mazat, rodiče si mohou stránky přečíst a ostatní uživatelé (registrovaní i neregistrovaní) stránky neuvidí. V takovém případě je nutné práva nastavit následovně:
Skupina
Komponenta
Instance
Oprávnění
Sekretariát
Sections::Section
Informace pro rodiče.*::
Smazat
Rodiče
Sections::Section
Informace pro rodiče.*::
Číst
Všichni uživatelé
Sections::Section
Informace pro rodiče.*::
Nic
Neregistrovaní
Sections::Section
Informace pro rodiče.*::
Nic