Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Există configurații specifice necesare pentru a utiliza pachetul Spatie în mod eficient


Există configurații specifice necesare pentru a utiliza pachetul Spatie în mod eficient


Pentru a utiliza eficient pachetul de permisiuni SPATIE Laravel, sunt necesare mai multe configurații specifice și pași de configurare:

Instalare și publicare

- Instalați pachetul prin compozitor: `compozitorul necesită Spatie/Laravel-Permission`.
- Publicați fișierul de migrare și configurare folosind comanda artizanală:
`PHP Artisan Vânzător: Publish --Provider =" Spatie \ Permission \ PermitionServiceProvider "`.
- Rulați migrațiile pentru a crea tabelele necesare (`roluri`,` permisiuni`, `model_has_permissions`,` model_has_roles`, `role_has_permissions`) în baza de date.

Configurarea modelului de utilizator

- Modelul de utilizator (sau orice model autenticabil la care doriți să atribuiți roluri/permisiuni) trebuie să utilizeze trăsăturile „Hasroles” furnizate de pachet. Acest lucru permite gestionarea rolului și a permisiunilor pe model.

Configurați reglarea fișierelor

- Pachetul publică un fișier `Config/Permission.php` unde puteți personaliza setări, cum ar fi nume de masă, setări cache și clase de model.
- Dacă utilizați UUIDS în loc să obțineți ID-uri de creștere automată, trebuie să ajustați migrațiile și, eventual, fișierul de configurare în consecință înainte de a rula migrații.
-Pentru configurații multi-chiriași sau bazate pe echipă, trebuie să activați și să configurați funcția „Echipe” din fișierul de configurare.

Configurare cache

- Pachetul folosește cache pentru a optimiza căutările de permisiuni. În mod implicit, expirarea cache -ului este setată la 24 de ore.
- Puteți personaliza timpul de cache, prefixul și timpul de expirare în `config/permission.php` sub tabloul` Cache`.
- În scenarii multi-chiriași, este recomandabil să setați un prefix de cache unic pentru a evita confruntările.
- Dacă aplicația dvs. comută chiriașii în timpul unei singure cereri, este posibil să fie necesar să reinitializați manual cache -ul permisiunii.

middleware

- Pentru a proteja rutele bazate pe roluri sau permisiuni, înregistrați aliasele de middleware ale pachetului (`rol`,` permisiune`, `role_or_permission`) în configurația dvs. HTTP kernel sau middleware.

Personalizare avansată

- Puteți extinde modelele de rol și permisiunea pachetului dacă doriți să personalizați comportamentul, dar trebuie să aveți grijă să actualizați fișierul de configurare pentru a indica modelele dvs. personalizate.
- Modificarea numelor de baze de date implicite necesită actualizarea fișierului de configurare și, eventual, migrațiilor.
- Pentru suport UUID sau alte cazuri de utilizare avansată, urmați secțiunile de documentare avansate ale pachetului.

În rezumat, configurațiile cheie implică publicarea și personalizarea fișierului de configurare, adăugând trăsătura „HasRoles` la modelul dvs. de utilizator, rularea migrațiilor, configurarea în cache în mod corespunzător și configurarea opțională a suportului Middleware și multi-chiriaș. Urmarea acestor pași se asigură că pachetul SPATIE va funcționa eficient în aplicația dvs. Laravel [1] [2] [6] [8] [9].

Citări:
[1] https://spatie.be/docs/laravel-permission/v6/installation-laravel
[2] https://spatie.be/docs/laravel-permission/v6/prerequisites
[3] https://spatie.be/docs/lavel-data/v4/requirements
[4] https://packagist.org/packages/spatie/lavel-settings
[5] https://spatie.be/docs/lavel-html/v3/installation-setup
[6] https://www.honeybadger.io/blog/laravel-permissions-roles/
[7] https://github.com/spatie/lavell-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-Patie-user-ROLES-AND-PERMISSIONS/
[10] https://stackoverflow.com/questions/58114242/extending-the-patie-role-model-but-use-a-he-fifferent-database-table