For at bruge den spatie Laravel -tilladelsespakke effektivt kræves der flere specifikke konfigurationer og opsætningstrin:
Installation og udgivelse
- Installer pakken via komponist: `Komponist kræver spatie/laravel-tilladte '.
- Udgiv migrations- og konfigurationsfilen ved hjælp af kommandoen Artisan:
`PHP Artisan -leverandør: Publicer -Provider =" Spatie \ tilladelse \ PermissionServiceProvider "`.
- Kør migrationerne for at oprette de nødvendige tabeller (`roller`,` tilladelser`, `model_has_permissions`,` model_has_roles`, `role_has_permissions`) i databasen.
Brugermodelkonfiguration
- Brugermodellen (eller enhver autentisk model, du vil tildele roller/tilladelser til), skal bruge `HasRoles 'egenskab leveret af pakken. Dette muliggør rolle og tilladelsesstyring på modellen.
Konfigurer filjusteringer
- Pakken offentliggør en `config/tilladelse.php` -fil, hvor du kan tilpasse indstillinger såsom tabelnavne, cacheindstillinger og modelklasser.
- Hvis du bruger UUID'er i stedet for auto-incrementerende ID'er, skal du justere migrationerne og muligvis konfigurationsfilen i overensstemmelse hermed, før du kører migrationer.
-For multi-tenant eller teambaserede opsætninger skal du aktivere og konfigurere funktionen "teams" i konfigurationsfilen.
Cache -konfiguration
- Pakken bruger cache til at optimere tilladelsesopslag. Som standard er cache -udløbet indstillet til 24 timer.
- Du kan tilpasse cache -butikken, præfikset og udløbstiden i `config/tilladelse.php` under` cache '-arrayet.
- I multi-tenant-scenarier anbefales det at indstille et unikt cache-præfiks for at undgå sammenstød.
- Hvis din app skifter lejere under en enkelt anmodning, skal du muligvis manuelt geninitialisere tilladelsescachen.
Middleware
- For at beskytte ruter baseret på roller eller tilladelser skal du registrere pakkens mellemware -aliaser ('rolle', 'tilladelse', 'role_or_permission') i din HTTP -kerne- eller middleware -konfiguration.
Avanceret tilpasning
- Du kan udvide pakkens rolle og tilladelsesmodeller, hvis du vil tilpasse opførsel, men du skal være forsigtig med at opdatere konfigurationsfilen for at pege på dine brugerdefinerede modeller.
- Ændring af standarddatabasetabelnavne kræver opdatering af konfigurationsfilen og muligvis migrationerne.
- For UUID -support eller andre sager om avanceret brug skal du følge pakkernes avancerede dokumentationssektioner.
Sammenfattende involverer de vigtigste konfigurationer offentliggørelse og tilpasning af konfigurationsfilen, tilføjet 'HasRoles' egenskab til din brugermodel, kørsel af migrationer, konfigurering af cache korrekt og valgfrit opsætning af middleware og multi-lejer support. Efter disse trin sikrer, at spatie -pakken fungerer effektivt i din Laravel -applikation [1] [2] [6] [8] [9].
Citater:
[1] https://spatie.be/docs/laravel-tmission/v6/installation-laravel
[2] https://spatie.be/docs/laravel-formission/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-tmisss-roles/
[7] https://github.com/spatie/laravel-slack-alerts/discussioner/22
[8] https://github.com/spatie/laravel-pmission/blob/main/docs/advanced-usage/cache.md
[9] https://www.allphptricks.com/laravel-11-spatie-user-roles-and-tillmissions/
[10] https://stackoverflow.com/questions/58114242/extending-the-spatie-role-model-m-s-is-a-a-different-database-table