V tomto díleseriálu o právech si projdeme moduly CmodsDownload (Ke stažení) a CmodsWebLink (Odkazník). Jelikož se jedná o moduly od stejného vývojového týmu, je princip práv prakticky shodný.
Poslední řádek s předchozími řádky zdánlivě nesouvisí, nicméně zajišťuje, že registrovaní uživatelé mohou poslat soubor do Download centra.
U tohoto příkladu však rozebereme dvě odlišné varianty zápisu instance:
Komponenty
Práva pro moduly Cmods máte k dispozici v souborech modules/CmodsDownload/pnversion.php: a modules/CmodsWebLinks/pnversion.php:- 'CmodsDownload::Category' => 'Category name::Category ID' zajišťuje práva pro přístup do jednotlivých kategorií
- 'CmodsDownload::Item' => 'Itemname::ID' napomáhá přidávání položek do Download centra
- 'CmodsDownload::Add' => '::' napomáhá přidávání položek do Download centra
- 'CmodsWebLinks::Category' => 'Category name::Category ID' zajišťuje přístup k položkám uvnitř příslušné kategorie Odkazníku
- 'CmodsWebLinks::Link' => 'Category name:Link name:Link ID' upravuje práva přímo pro konkrétní odkazy
- 'CmodsWebLinks::Add' =>'::' napomáhá přidávání odkazů do katalogu
Síla práv
Hned na začátku bych chtěl předeslat, že tyto moduly nemám do detailu prostudované, takže mi některá práva mohly uniknout. Prozatím mi jsou zřejmá tato práva:- None = Nic : dané položky v příslušné kategorii nejsou zobrazovány
- Read = Číst : daní položky v příslušné kategorii je možné zobrazit
- Edit = Úprava : uživatel může upravovat obsah položky a to i tehdy, pokud není jeho autorem (pozor, nepleťe si to s možností požádat o změnu obsahu...)
- Add = Přidat : toto právo je využíváno u komponent CmodsDownload::Add a CmodsWebLinks::Add
- Delete = Smazat : uživatel je oprávněn smazat položku 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
Představme si, že máme skupinu Žáci. Dále pak v rámci Download centra existuje kategorie Žákovské úložiště s ID=5 a uvnitř vnořené kategorie Výuka s ID=6 a Zábava s ID=15. Žáci mohou tyto kategorie plně administrovat. Registrovaní uživatelé si mohou prohlížet, ale neregistrovaní tyto kategorie nevidí. Práva budou nastavena následovně:Skupina | Komponenta | Instance | Oprávnění |
Žáci | CmodsDownload::Category | ::(5|6|15) | Admnistrátor |
Všichni uživatelé | CmodsDownload::Category | ::(5|6|15) | Číst |
Neregistrovaní | CmodsDownload::Category | ::(5|6|15) | Nic |
Všichni uživatelé | CmodsDownload::Add | :: | Přidat |
U tohoto příkladu však rozebereme dvě odlišné varianty zápisu instance:
- ::(6|15) - Co se stane, když zapomeneme uvést ID hlavní kategorie? Otázkou je v jakém případě ...
- Pokud u žáků, pak tato skupina nebude moci administrovat hlavní kategorii, ale vnořené kategorie již ano.
- Pokud u registrovaných uživatelů, pak může dokonce nastat zvláštní případ, kdy hlavní kategorie nebude vůbec vidět, ale do vnořených kategorií se mohou uživatelé dostat... Jak? ... pokud znají správnou URL adresu.
- ::5 - A co, když zapomeneme na vnořené kategorie? Pak například žáci by v takovém přpadě mohly spravovat soubory ke stažení v rámci kategorie Žákovské úložiště, ale ve vnořených kategorií již tyto pravomoce nemají ...
Žádné komentáře:
Okomentovat