Щоб ефективно використовувати пакет дозволу Laravel Laravel, потрібно кілька конкретних конфігурацій та етапів налаштування:
Встановлення та публікація
- Встановіть пакет за допомогою композитора: `Composer потребує Spatie/Laravel-Permission`.
- Опублікуйте файл міграції та конфігурації за допомогою команди Artisan:
`PHP Artisan постачальник: Publish -Provider =" Spatie \ Дозвіл \ Дозвіл Сервіспровіндер "`.
- Запустіть міграції, щоб створити необхідні таблиці (`roles`,` Дозвіл ', `model_has_permission',` model_has_roles`, `role_has_permission ') у базі даних.
Конфігурація моделі користувача
- Модель користувача (або будь -яка автентична модель, яку ви хочете призначити ролі/дозволи), повинна використовувати рису `Hasroles`, що надається пакетом. Це дає змогу керувати роль та дозволу на модель.
Налаштування файлів конфігурації
- Пакет публікує файл `config/dize.php`, де ви можете налаштувати параметри, такі як назви таблиць, налаштування кешу та класи моделі.
- Якщо ви використовуєте uuids замість автоматичного інтенсивного ідентифікатора, вам потрібно регулювати міграцію та, можливо, відповідно конфігураційний файл перед запуском міграцій.
-Для налаштувань на основі багатокласників або команд ви повинні увімкнути та налаштувати функцію "Команди" у файлі конфігурації.
Конфігурація кешу
- Пакет використовує кешування для оптимізації пошуку дозволів. За замовчуванням термін дії кешу встановлюється на 24 години.
- Ви можете налаштувати магазин кешу, префікс та термін придатності в `config/dize.php` під масивом` cache`.
- У сценаріях з мульти-орендарями доцільно встановити унікальний префікс кешу, щоб уникнути сутичок.
- Якщо ваша програма перемикає орендарів під час одного запиту, можливо, вам знадобиться вручну реініціалізувати кеш дозволу.
Middleware
- Для захисту маршрутів на основі ролей або дозволів зареєструйте псевдоніми проміжного забезпечення пакету (`role`,` Дозвіл ', `role_or_permission`) у вашому ядрі HTTP або проміжному програмному забезпеченні.
Розширене налаштування
- Ви можете розширити роль та моделі дозволу пакету, якщо ви хочете налаштувати поведінку, але ви повинні бути обережними, щоб оновити конфігураційний файл, щоб вказати на власні моделі.
- Зміна назви таблиці баз даних за замовчуванням вимагає оновлення конфігураційного файлу та, можливо, міграції.
- Для підтримки UUID або інших випадків розширеного використання дотримуйтесь розділів розширеної документації пакету.
Підводячи підсумок, ключові конфігурації передбачають публікацію та налаштування файлу конфігурації, додавання `Hasroles` до вашої моделі користувача, запуску міграцій, налаштування кешування належним чином та необов'язково налаштування підтримки середнього програмного забезпечення та багатогранного. Дотримуючись цих кроків, гарантує, що пакет Spatie буде ефективно працювати у вашій програмі Laravel [1] [2] [6] [8] [9].
Цитати:
[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-roles/
[7] https://github.com/spatie/laravel-slack-alerts/discussions/22
[8] https://github.com/spatie/laravel-permission/blob/main/docs/advanced-usage/cache.md
[9] https://www.allphptricks.com/laravel-11-spatie-user-roles-and-permissions/
[10] https://stackoverflow.com/questions/58114242/extending-the-patie-role-model-but-usa-a-different-database-table