Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon ¿Hay alguna configuración específica necesaria para usar el paquete SPATIE de manera efectiva?


¿Hay alguna configuración específica necesaria para usar el paquete SPATIE de manera efectiva?


Para usar el paquete de permiso de Spatie Laravel de manera efectiva, se requieren varias configuraciones específicas y pasos de configuración:

Instalación y publicación

- Instale el paquete a través del compositor: `El compositor requiere Spatie/Laravel-Permission`.
- Publique el archivo de migración y configuración utilizando el comando Artisan:
`Vendor artesanal PHP: publish --Provider =" Spatie \ Permission \ PermissionServiceProvider "`.
- Ejecute las migraciones para crear las tablas necesarias (`roles`,` permissions`, `model_has_permissions`,` model_has_roles`, `rol_has_permissions`) en la base de datos.

Configuración del modelo de usuario

- El modelo de usuario (o cualquier modelo de autenticidad al que desee asignar roles/permisos) debe usar el rasgo 'HaSroles' proporcionado por el paquete. Esto permite la gestión de roles y permisos en el modelo.

Ajustes de archivo de configuración

- El paquete publica un archivo `config/permiso.php` donde puede personalizar la configuración, como nombres de tabla, configuraciones de caché y clases de modelos.
- Si está utilizando UUID en lugar de ID de incremento automático, debe ajustar las migraciones y posiblemente el archivo de configuración en consecuencia antes de ejecutar migraciones.
-Para configuraciones múltiples o basadas en equipos, debe habilitar y configurar la función "Equipos" en el archivo de configuración.

Configuración de caché

- El paquete utiliza almacenamiento en caché para optimizar las búsquedas de permisos. Por defecto, la expiración de caché se establece en 24 horas.
- Puede personalizar la tienda de caché, el prefijo y el tiempo de vencimiento en `config/permiso.php` en la matriz` Cache`.
- En escenarios de múltiples inquilinos, es aconsejable establecer un prefijo de caché único para evitar enfrentamientos.
- Si su aplicación cambia de inquilinos durante una sola solicitud, es posible que deba reiniciar manualmente el caché de permiso.

Middleware

- Para proteger las rutas basadas en roles o permisos, registre los alias de middleware del paquete (`rol`,` permiso`, `rol_or_permission`) en su configuración de núcleo o middleware HTTP.

Personalización avanzada

- Puede extender los modelos de rol y permiso del paquete si desea personalizar el comportamiento, pero debe tener cuidado de actualizar el archivo de configuración para señalar sus modelos personalizados.
- Cambiar los nombres de tabla de base de datos predeterminados requiere actualizar el archivo de configuración y posiblemente las migraciones.
- Para soporte UUID u otros casos de uso avanzado, siga las secciones de documentación avanzada del paquete.

En resumen, las configuraciones clave implican publicar y personalizar el archivo de configuración, agregando el rasgo de 'HaSroles' a su modelo de usuario, ejecutar migraciones, configurar el almacenamiento en caché correctamente y configurar opcionalmente el soporte de Middleware y Multiinant. Seguir estos pasos asegura que el paquete Spatie funcione de manera efectiva en su aplicación Laravel [1] [2] [6] [8] [9].

Citas:
[1] https://spatie.be/docs/laravel-permission/v6/installation-laravel
[2] https://spatie.be/docs/laravel-permission/v6/Preequisites
[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 spatie-user-roles-and-permissions/
[10] https://stackoverflow.com/questions/58114242/extending-the spatie-role-model-but-use-a-different-database-table