Přejít na hlavní obsah
Viditelné oblasti určují, které sekce nejvyšší úrovně se zobrazují v bočním panelu administrace pro danou roli. Skryté karty tento princip rozšiřují na jednotlivé karty uvnitř stránky: role může skrýt konkrétní karty v rámci sekce, aniž by odstranila samotnou sekci. Obojí je nezávislé na oprávněních k přístupu k datům.

Jak to funguje

Každá role, systémová nebo vlastní, nese dvě oddělená pole:
  • Oprávnění – přístup k datům vynucovaný serverem. Řídí, co API vrátí danému uživateli. Příklad: oprávnění customers:view umožní uživateli číst data zákazníků.
  • Viditelné oblasti – přítomnost v UI na straně klienta. Řídí, které sekce se zobrazují v bočním panelu administrace a jsou dostupné přes URL. Příklad: customers ve visibleAreas zobrazí kartu Zákazníci.
Tyto dvě osy jsou nezávislé. Uživatel může mít oprávnění customers:view (kvůli podpoře mezizdrojových postupů, jako je výběr zákazníka u objednávky), aniž by se sekce Zákazníci zobrazovala v bočním panelu.

Asymetrické pravidlo

Viditelné oblasti se řídí jedním směrovým omezením:
  • Zobrazení oblasti vynutí přístup k datům. Pokud je customers ve visibleAreas, role musí mít i oprávnění customers:view. Matice oprávnění to vynucuje automaticky: zapnutí viditelnosti oblasti doplní chybějící oprávnění :view.
  • Přístup k datům nevynutí viditelnost. Udělení customers:view automaticky nepřidá customers do visibleAreas. Boční panel zůstane beze změny.
Díky tomu můžeš sestavit role jako „Správce objednávek s přístupem k datům zákazníků, ale bez karty Zákazníci“: uživatel může vybírat zákazníky přímo v toku objednávky, aniž by v bočním panelu viděl vyhrazenou sekci Zákazníci.

Řešení napříč rolemi

Efektivní viditelné oblasti uživatele jsou sjednocením všech přiřazených rolí: systémové role plus libovolných vlastních rolí. Pokud kterákoli role oblast obsahuje, oblast se v bočním panelu zobrazí.
Systémová role Člen ve výchozím stavu neobsahuje finance, ale vlastní role „Finance Viewer“ ji přidá. Uživatel vidí všech sedm sekcí.

Dostupné oblasti

Viditelné oblasti se mapují jedna ku jedné na zdroje administrace nejvyšší úrovně:

Viditelnost jednotlivých karet

Kromě skrývání celých sekcí bočního panelu mohou role skrýt jednotlivé karty uvnitř sekce. Každá role nese seznam hiddenTabs: pole klíčů resource:subResource, které určuje, jaké karty se potlačí. Karty se řídí sémantikou průniku (AND), opakem viditelných oblastí:
  • Viditelné oblasti používají sjednocení: vyhrává jakákoli role, která oblast zobrazuje.
  • Skryté karty používají průnik: karta je skrytá, jen když ji skrývá každá role přiřazená uživateli. Pokud ji kterákoli role nechá viditelnou, zobrazí se.
To znamená, že vždy vyhrává role s většími právy: přidání role nikdy neskryje kartu, kterou ukazuje jiná role.
Obě role skrývají orders:order_payments, takže zůstává skrytá. Jen jedna role skrývá orders:order_documents, takže karta Dokumenty se zobrazí.

Karty, které lze skrýt

Každá karta v administraci je identifikovaná klíčem resource:subResource. Celá sada pokrývá všechny hlavní oblasti: Každý klíč má prefix svého zdroje v API (např. orders:order_payments). Matice oprávnění v administraci je zobrazuje seskupené podle zdroje s jejich čitelnými názvy.
Matice oprávnění se zaškrtávátky Zobrazit v UI pro jednotlivé karty

Výchozí hodnoty systémových rolí

Každá systémová role přichází s předdefinovanou sadou viditelných oblastí: Vlastní role mohou tyto výchozí hodnoty rozšířit o oblasti, které systémová role neobsahuje. Systémové role ve výchozím stavu neskrývají žádné karty: všechny karty jsou viditelné. Skrývání jednotlivých karet se konfiguruje jen přes vlastní role.

Použití

Konfigurace viditelnosti v matici oprávnění

Když vytváříš nebo upravuješ vlastní roli, matice oprávnění zobrazuje sloupec Zobrazit v UI vedle sloupců přístupu k datům (Spravovat, Vytvořit, Vymazat, Zobrazit data). Sloupec má dvě úrovně zaškrtávátek:
  • Řádek nejvyšší úrovně – řídí sekci bočního panelu (viditelnou oblast). Přepnutím ji celou zobrazíš, nebo skryješ.
  • Řádky podzdrojů – řídí jednotlivé karty uvnitř dané sekce. Rozbalením řádku nejvyšší úrovně se zobrazí zaškrtávátka pro jednotlivé karty.
Matice vynucuje asymetrické pravidlo na obou úrovních: zapnutí Zobrazit v UI automaticky zapne Zobrazit data pro daný zdroj nebo kartu. Vypnutí Zobrazit data automaticky vypne Zobrazit v UI.

Když je viditelnost skrytá, ale přístup k datům zůstává

Skrytá oblast nebo karta neblokuje mezizdrojové postupy. Časté scénáře:
  • Výběr zákazníka v objednávkách – role s oprávněním customers:view, ale bez customers ve viditelných oblastech, může při vytváření objednávky stále vyhledávat a vybírat zákazníky. Sekce Zákazníci je skrytá, ale výběr funguje.
  • Skrytá karta, viditelná data – skrytí orders:order_payments odstraní kartu Platby z detailu objednávky, ale platební data dál proudí přes další zobrazení (např. souhrny na kartě Souhrn objednávky, reporty).
  • Přímé odkazy – odkaz přímo na URL uvnitř skryté oblasti zobrazí stránku s omezeným přístupem. Oprávnění k datům dál platí na straně serveru, ale administrace stránku nevykreslí.
Viditelné oblasti a skryté karty jsou pohodlí na straně UI, ne bezpečnostní hranice. Řídí, co se zobrazuje v bočním panelu a na detailních stránkách. Neomezují přístup k API: přístup k datům řídí výhradně oprávnění.

Související články

Uživatelé a role

Spravuj členy týmu, přiřazuj role a konfiguruj oprávnění.

Boční panel

Jak je organizovaný boční panel administrace a co obsahuje každá sekce.