Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Zijn er specifieke configuraties die nodig zijn om het spatiepakket effectief te gebruiken


Zijn er specifieke configuraties die nodig zijn om het spatiepakket effectief te gebruiken


Om het Spatie Laravel -toestemmingspakket effectief te gebruiken, zijn verschillende specifieke configuraties en installaties instellen vereist:

Installatie en publiceren

- Installeer het pakket via componist: `Composer vereist spatie/laravel-permission`.
- Publiceer het migratie- en configuratiebestand met behulp van de Artisan -opdracht:
`PHP Artisan Vendor: publiceren --Provider =" Spatie \ Permission \ PermissionserviceProvider "`.
- Voer de migraties uit om de benodigde tabellen te maken (`Roles`,` machtigingen`, `Model_has_permissions`,` Model_has_roles`, `Role_HAS_Permissions`) in de database.

Configuratie van gebruikersmodel

- Het gebruikersmodel (of elk authentieke model waaraan u rollen/machtigingen wilt toewijzen) moet de eigenschap 'hasroles' gebruiken die door het pakket wordt verstrekt. Dit maakt rol- en machtigingsbeheer op het model mogelijk.

Aanpassingen van het bestand configeren

- Het pakket publiceert een bestand `config/machtiging.php` waar u instellingen zoals tabelnamen, cache -instellingen en modelklassen kunt aanpassen.
- Als u UUID's gebruikt in plaats van ID's automatisch te worden ingegaan, moet u de migraties aanpassen en mogelijk het configuratiebestand dienovereenkomstig voordat u migraties uitvoert.
-Voor multi-tenant of teamgebaseerde setups moet u de functie "Teams" in het configuratiebestand inschakelen en configureren.

Cache -configuratie

- Het pakket maakt gebruik van caching om machtigingsopzoekingen te optimaliseren. Standaard is de cache -vervaldatum ingesteld op 24 uur.
- U kunt de cache -winkel, het voorvoegsel en de vervaltijd aanpassen in `config/machtiging.php` onder de array` cache`.
- In multi-tenant scenario's is het raadzaam om een ​​uniek cache-voorvoegsel in te stellen om botsingen te voorkomen.
- Als uw app van huurders omschakelt tijdens een enkel verzoek, moet u mogelijk de machtigingscache handmatig opnieuw initialiseren.

Middleware

- Om routes te beschermen op basis van rollen of machtigingen, registreert u de middleware -aliassen van het pakket (`Role`,` toestemming ', `rol_or_permission`) in uw HTTP -kernel- of middleware -configuratie.

Geavanceerde aanpassing

- U kunt de rol- en machtigingsmodellen van het pakket uitbreiden als u gedrag wilt aanpassen, maar u moet voorzichtig zijn om het configuratiebestand bij te werken om naar uw aangepaste modellen te wijzen.
- De standaard databasetabelnamen wijzigen vereist het bijwerken van het configuratiebestand en mogelijk de migraties.
- Volg voor UUID -ondersteuning of andere geavanceerde use -cases de geavanceerde documentatiesecties van het pakket.

Samenvattend omvat de belangrijkste configuraties het publiceren en aanpassen van het configuratiebestand, het toevoegen van de `hasroles`-eigenschap aan uw gebruikersmodel, het uitvoeren van migraties, het correct configureren van caching en het optioneel instellen van middleware en multi-tenant-ondersteuning. Het volgen van deze stappen zorgt ervoor dat het spatiepakket effectief werkt in uw Laravel -toepassing [1] [2] [6] [8] [9].

Citaten:
[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-rollen/
[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-spatie-user- Roles-and-permissions/
[10] https://stackoverflow.com/questions/58114242/extending-the-spatie-role-model-but-Use-a-different-database-tabel