Na efektívne použitie balíka povolení Spatie Laravel je potrebné niekoľko konkrétnych konfigurácií a krokov nastavenia:
Inštalácia a publikovanie
- Nainštalujte balík cez Composer: `Composer vyžaduje Spatie/Laravel-Permission`.
- Zverejnite súbor migrácie a konfigurácie pomocou príkazu Artisan:
`PHP Artisan Sendor: PubliSt - -provider =" SPATIE \ POVOLENIE \ remissionServiceProvider "`.
- Spustite migrácie a vytvorte potrebné tabuľky (`roly`,` remissions`, `Model_has_permissions`,` Model_has_roles`, `role_has_permissions`) v databáze.
Konfigurácia modelu používateľa
- Užívateľský model (alebo akýkoľvek autentifikovateľný model, ktorému chcete priradiť úlohy/povolenia), musí použiť znak „hasroles“ poskytnutý balíkom. To umožňuje riadenie úloh a povolení v modeli.
** Configura
- Balík vydáva súbor `config/conmission.php`, kde si môžete prispôsobiť nastavenia, ako sú názvy tabuliek, nastavenia vyrovnávacej pamäte a triedy modelov.
- Ak používate UUID namiesto ID automatického inkrementu, musíte pred spustením migrácie upraviť migrácie a prípadne konfiguračný súbor.
-V prípade nastavení viacerých nájomcov alebo tímov musíte povoliť a nakonfigurovať funkciu „tímy“ v konfiguračnom súbore.
Konfigurácia vyrovnávacej pamäte
- Balík používa ukladanie do vyrovnávacej pamäte na optimalizáciu vyhľadávaní povolení. V predvolenom nastavení je vypršanie vyrovnávacej pamäte nastavené na 24 hodín.
- Môžete si prispôsobiť časový obchod, predponu a čas vypršania platnosti v `config/conmission.php` v poli` cache`.
- V scenároch s viacerými nájomcami sa odporúča nastaviť jedinečnú predponu vyrovnávacej pamäte, aby sa predišlo zrážkam.
- Ak vaše aplikácie počas jednej žiadosti prepínajú nájomcov, možno budete musieť manuálne reinitializovať vyrovnávaciu pamäť povolení.
Middleware
- Na ochranu trás na základe rolí alebo oprávnení zaregistrujte aliasy middleware (`role`,` conmission`, `role_or_permission`) do konfigurácie jadra HTTP alebo middleware.
Pokročilé prispôsobenie
- Ak chcete prispôsobiť správanie, môžete rozšíriť modely úloh a povolení, ale musíte byť opatrní, aby ste aktualizovali konfiguračný súbor tak, aby ukazovali na svoje vlastné modely.
- Zmena predvolených názvov tabuľky databáz vyžaduje aktualizáciu konfiguračného súboru a prípadne migrácie.
- Pre podporu UUID alebo iné prípady pokročilého použitia postupujte podľa sekcií pokročilých dokumentácií balíka.
Stručne povedané, kľúčové konfigurácie zahŕňajú publikovanie a prispôsobenie konfiguračného súboru, pridanie znaku „Hasroles` do vášho užívateľského modelu, správne konfiguráciu cache a voliteľné nastavenie podpory middleware a viacerých nájomcov. Po týchto krokoch zaisťuje, že balík Spatie bude efektívne fungovať vo vašej aplikácii Laravel [1] [2] [6] [8] [9].
Citácie:
[1] https://spatie.be/docs/laravel-permission/v6/installation-laravel
[2] https://spatie.be/docs/laravel-permission/v6/prerequisites
[3] https://spatie.be/docs/laravel-data/v4/requirements
[4] https://packagist.org/packages/spatie/laravel-settings
[5] https://spatie.be/docs/laravel-html/v3/installation-setup
[6] https://www.honeybadger.io/blog/laravel-permissions-olles/
[7] https://github.com/spatie/laravel-slack-alertts/discussions/22
[8] https://github.com/spatie/laravel-permission/blob/main/docs/advanced-usage/cache.md
[9] https://www.allphptricks.com/laravel-1-spatie-user-roles-and-permissions/
[10] https://stackoverflow.com/questions/58114242/extdending-the-spatie-le-model-but-use-use-a-different-different-tatabase-table