Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Y a-t-il des configurations spécifiques nécessaires pour utiliser efficacement le package spatie


Y a-t-il des configurations spécifiques nécessaires pour utiliser efficacement le package spatie


Pour utiliser efficacement le package d'autorisation Spatie Laravel, plusieurs configurations et étapes de configuration spécifiques sont nécessaires:

Installation et publication

- Installez le package via Composer: «Composer nécessite Spatie / Laravel-Permission».
- Publiez le fichier de migration et de configuration à l'aide de la commande artisan:
`PHP Artisan Vendor: Publish --provider =" Spatie \ Permission \ PermissionsViceProvider "`.
- Exécutez les migrations pour créer les tables nécessaires («Rôles», `Permissions», `Model_has_Permissions», `Model_has_Roles», `Role_HAS_PERMISSIONS`) Dans la base de données.

Configuration du modèle utilisateur

- Le modèle utilisateur (ou tout modèle authentitable auquel vous souhaitez attribuer des rôles / autorisations) doit utiliser le trait `Hasroles 'fourni par le package. Cela permet la gestion du rôle et de l'autorisation sur le modèle.

Réglage des fichiers de configuration

- Le package publie un fichier `config / permission.php` où vous pouvez personnaliser des paramètres tels que les noms de table, les paramètres de cache et les classes de modèle.
- Si vous utilisez des UUID au lieu des ID d'incrémentation automatique, vous devez ajuster les migrations et éventuellement le fichier de configuration en conséquence avant d'exécuter des migrations.
- Pour les configurations multi-locataires ou basées sur l'équipe, vous devez activer et configurer la fonctionnalité "Teams" dans le fichier de configuration.

Configuration du cache

- Le package utilise la mise en cache pour optimiser les recherches d'autorisation. Par défaut, l'expiration du cache est définie sur 24 heures.
- Vous pouvez personnaliser le magasin de cache, le préfixe et le temps d'expiration dans `config / permission.php` sous le tableau« cache ».
- Dans les scénarios multi-locataires, il est conseillé de définir un préfixe de cache unique pour éviter les affrontements.
- Si votre application change les locataires pendant une seule demande, vous devrez peut-être réinitialiser manuellement le cache d'autorisation.

middleware

- Pour protéger les itinéraires en fonction des rôles ou des autorisations, enregistrez les alias middleware du package («Role», «Permission», `Role_OR_PERMISSION») Dans votre configuration de noyau HTTP ou middleware.

Personnalisation avancée

- Vous pouvez étendre les modèles de rôle et d'autorisation du package si vous souhaitez personnaliser le comportement, mais vous devez faire attention à mettre à jour le fichier de configuration pour pointer vers vos modèles personnalisés.
- La modification des noms de table de base de données par défaut nécessite la mise à jour du fichier de configuration et éventuellement les migrations.
- Pour le support UUID ou d'autres cas d'utilisation avancés, suivez les sections de documentation avancées du package.

En résumé, les configurations clés impliquent la publication et la personnalisation du fichier de configuration, l'ajout du trait `Hasroles» à votre modèle d'utilisateur, exécutant des migrations, configurant correctement la mise en cache et configurant éventuellement la prise en charge des middleware et multi-locat. Suivre ces étapes garantit que le package spatie fonctionnera efficacement dans votre application Laravel [1] [2] [6] [8] [9].

Citations:
[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/requiments
[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-lerts/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-thepatie-role-model-but-use-a-different-database-table