Za učinkovito uporabo paketa za dovoljenje Spatie Laravel je potrebnih več posebnih konfiguracij in korakov nastavitve:
Namestitev in objavljanje
- Namestite paket prek skladatelja: `Skladatelj zahteva Spatie/Laravel-Permission`.
- Objavite migracijsko in konfiguracijsko datoteko z ukazom Artisan:
`PHP Artisan prodajalec: objavi --provider =" Spatie \ dovoljenje \ PermissionServiceProvider "`.
- Zaženite migracije, da ustvarite potrebne tabele ("vloge", "dovoljenja", `model_has_permissions`,` model_has_roles`, `vlog_has_permissions`) v bazi podatkov.
Konfiguracija uporabniškega modela
- Uporabniški model (ali kateri koli verodostojni model, ki mu želite dodeliti vloge/dovoljenja) mora uporabiti lastnosti `hasroles", ki jo ponuja paket. To omogoča upravljanje vlog in dovoljenj na modelu.
Prilagoditve datotek
- Paket objavlja datoteko `config/dovoli.php`, kjer lahko prilagodite nastavitve, kot so imena tabel, nastavitve predpomnilnika in modelni razredi.
- Če uporabljate UUIDS namesto samodejnih ID-jev, morate pred izvajanjem migracij prilagoditi migracije in morda konfiguracijsko datoteko.
-Za nastavitve z več najemniki ali na tim, morate v konfiguracijski datoteki omogočiti in konfigurirati funkcijo "ekipe".
Konfiguracija predpomnilnika
- Paket uporablja predpomnjenje za optimizacijo iskanj dovoljenj. Privzeto je iztek predpomnilnika nastavljeno na 24 ur.
- Shranjevanje predpomnilnika, predpono in čas poteka lahko prilagodite v `config/dovoljenje.php` pod matriko` cache`.
- V scenarijih za več najemnikov je priporočljivo nastaviti edinstveno predpono predpomnilnika, da se izognete spopadom.
- Če vaša aplikacija med eno samo zahtevo preklopi najemnike, boste morda morali ročno ponovno ustvariti predpomnilnik dovoljenja.
vmesna programska oprema
- Za zaščito poti, ki temeljijo na vlogah ali dovoljenjih, registrirajte vzdevke vmesne programske opreme paketa ("vloga", "dovoljenje", `vloga_or_permission`) v konfiguraciji jedra HTTP ali vmesne programske opreme.
Napredna prilagoditev
- Če želite prilagoditi vedenje, lahko razširite modele vloge in dovoljenj paketa, vendar morate biti previdni, da posodobite konfiguracijsko datoteko, da pokažete na svoje modele po meri.
- Spreminjanje privzetih imen tabel baze podatkov zahteva posodobitev konfiguracijske datoteke in morda migracij.
- Za podporo UUID ali druge primere napredne uporabe sledite razdelkom za napredno dokumentacijo paketa.
Če povzamemo, ključne konfiguracije vključujejo objavljanje in prilagajanje konfiguracijske datoteke, dodajanje lastnosti `hasroles` v vaš uporabniški model, zaženite migracije, pravilno konfiguriranje predpomnilnika in poljubno nastavitev podpore za srednjo programsko opremo in več najemnikov. Po teh korakih zagotavlja, da bo paket Spatie učinkovito deloval v vaši aplikaciji Laravel [1] [2] [6] [8] [9].
Navedbe:
[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-setings
[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-salerts/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/exting-the-spatie-role-model-but-use-a-different-Database-table