For å bruke Spatie Laravel -tillatelsespakken effektivt, er det nødvendig med flere spesifikke konfigurasjoner og oppsettstrinn:
Installasjon og publisering
- Installer pakken via komponist: `komponist krever spatie/laravel-tillatelse`.
- Publiser migrasjons- og konfigurasjonsfilen ved hjelp av Artisan -kommandoen:
`PHP Artisan -leverandør: publiser --Provider =" Spatie \ Permission \ PermissionServiceProvider ".
- Kjør migrasjonene for å lage de nødvendige tabellene (`roller`,` tillatelser`, `Model_has_permissions`,` Model_has_roles`, `rolle_has_permissions`) i databasen.
Brukermodellkonfigurasjon
- Brukermodellen (eller en hvilken som helst autentisk modell du ønsker å tilordne roller/tillatelser til) må bruke 'Hasroles` -egenskapen levert av pakken. Dette muliggjør rolle og tillatelsesstyring på modellen.
Konfigurasjonsjusteringer
- Pakken publiserer en `config/permission.php` -fil der du kan tilpasse innstillinger som tabellnavn, hurtigbufferinnstillinger og modellklasser.
- Hvis du bruker UUID-er i stedet for auto-incrementing ID-er, må du justere migrasjonene og muligens konfigurasjonsfilen deretter før du kjører migrasjoner.
-For multi-leietaker eller teambaserte oppsett, må du aktivere og konfigurere "Teams" -funksjonen i konfigurasjonsfilen.
Cache -konfigurasjon
- Pakken bruker hurtigbufring for å optimalisere tillatelsesoppslag. Som standard er utløp av cache satt til 24 timer.
- Du kan tilpasse cache -butikken, prefikset og utløpstiden i `config/permission.php` under` cache` -matrisen.
- I scenarier med flere leietakere anbefales det å angi et unikt cache-prefiks for å unngå sammenstøt.
- Hvis appen din bytter leietakere under en enkelt forespørsel, kan det hende du må reinitialisere tillatelsesbufferen manuelt.
mellomvare
- For å beskytte ruter basert på roller eller tillatelser, registrerer du pakkens mellomvare aliaser (`rolle`,` tillatelse`, `rolle_or_permission`) i din HTTP -kjerne- eller mellomvarekonfigurasjon.
Avansert tilpasning
- Du kan utvide pakkeens rolle- og tillatelsesmodeller hvis du vil tilpasse atferd, men du må være forsiktig med å oppdatere konfigurasjonsfilen for å peke på de tilpassede modellene.
- Endring av standard databasetabellnavn krever oppdatering av konfigurasjonsfilen og muligens migrasjonene.
- For UUID -støtte eller andre avanserte brukssaker, følg pakkets avanserte dokumentasjonsseksjoner.
Oppsummert involverer nøkkelkonfigurasjonene å publisere og tilpasse konfigurasjonsfilen, legge til `Hasroles`-egenskapen til brukermodellen din, kjøre migrasjoner, konfigurere hurtigbufring riktig og eventuelt sette opp mellomvare og multi-leietakstøtte. Å følge disse trinnene sikrer at Spatie -pakken vil fungere effektivt i Laravel -applikasjonen [1] [2] [6] [8] [9].
Sitasjoner:
[1] https://spatie.be/docs/laravel-permission/v6/installation-laravel
[2] https://spatie.be/docs/laravel-permission/v6/prequisites
[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-ellers/discussions/22
[8] https://github.com/spatie/laravel-permission/blob/main/docs/advanced-usage/cache.md
[9] https://www.allphptricks.com/laravel-11-spatie-bruker-roles-and-pedisjoner/
[10] https://stackoverflow.com/questions/58114242/extending-the-spatie-rolemodel-but-use-a-different-database-table