Lai efektīvi izmantotu Spatie Laravel atļaujas paketi, ir vajadzīgas vairākas īpašas konfigurācijas un iestatīšanas darbības:
Instalēšana un publicēšana
- Instalējiet paketi, izmantojot komponistu: "Komponistam nepieciešama Spatie/Laravel-Permission".
- Publicējiet migrācijas un konfigurācijas failu, izmantojot amatnieku komandu:
`PHP Artisan pārdevējs: publicējiet
- Palaidiet migrāciju, lai izveidotu nepieciešamās tabulas (`lomas`,` atļaujas`, `model_has_permissions`,` model_has_roles`, `lole_has_permissions`) datu bāzē.
Lietotāja modeļa konfigurācija
- Lietotāja modelim (vai jebkuram autentizējošam modelim, kuram vēlaties piešķirt lomas/atļaujas) ir jāizmanto paketes nodrošinātā pazīme `hasroles`. Tas nodrošina modeļa lomu un atļauju pārvaldību.
Konfigurācijas faila korekcijas
- Pakete publicē failu Config/atļauja.php`, kurā varat pielāgot iestatījumus, piemēram, tabulas nosaukumus, kešatmiņas iestatījumus un modeļa klases.
- Ja jūs izmantojat UUID, nevis automātiski palielināt ID, pirms migrācijas veikšanas ir jāpielāgo migrācija un, iespējams, konfigurācijas fails.
-Vairāku īrnieku vai uz komandu balstītiem iestatījumiem jums jāiespējo un jākonfigurē konfigurācijas failā “komandas”.
Kešatmiņas konfigurācija
- Komplektā tiek izmantota kešatmiņa, lai optimizētu atļauju meklēšanu. Pēc noklusējuma kešatmiņas derīguma termiņš ir iestatīts uz 24 stundām.
- Kešatmiņas veikalu, prefiksu un derīguma termiņa laiku var pielāgot `config/atļaujas.php` masīvā` cache`.
- Vairāku īrnieku scenārijos ieteicams iestatīt unikālu kešatmiņas prefiksu, lai izvairītos no sadursmēm.
- Ja jūsu lietotne pārslēdz īrniekus viena pieprasījuma laikā, jums, iespējams, vajadzēs manuāli atkārtoti inicializēt atļaujas kešatmiņu.
starpprogrammatūra
- Lai aizsargātu maršrutus, pamatojoties uz lomām vai atļaujām, savā HTTP kodolā vai starpprogrammatūras konfigurācijā reģistrējiet paketes starpprogrammatūras pseidonīmus (`loma`,` atļauja`, `lole_or_permission`).
Papildu pielāgošana
- Ja vēlaties pielāgot uzvedību, varat pagarināt paketes lomu un atļauju modeļus, taču jums jābūt uzmanīgam, lai atjauninātu konfigurācijas failu, lai norādītu uz jūsu pielāgotajiem modeļiem.
- Noklusējuma datu bāzes tabulas nosaukumu maiņai ir jāatjaunina konfigurācijas faila un, iespējams, migrācija.
- UUID atbalstu vai citus uzlabotus lietošanas gadījumus izmantojiet paketes uzlabotās dokumentācijas sadaļās.
Rezumējot, galvenās konfigurācijas ietver konfigurācijas faila publicēšanu un pielāgošanu, `hasroles` pazīmes pievienošanu lietotāja modelim, migrācijas palaišanai, pareizas kešatmiņas saglabāšanas konfigurēšana un pēc izvēles iestatīšana starpprogrammatūra un vairāku īrnieku atbalsts. Pēc šīm darbībām tiek nodrošināts, ka Spatie pakete efektīvi darbosies jūsu Laravel lietojumprogrammā [1] [2] [6] [8] [9].
Atsauces:
[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-patie-user-roles-and-permissions/
[10] https://stackoverflow.com/questions/58114242/extending-the-patie-role-model-but-use-a-different-database-Table