50 ROLES Y PERMISOS en el curso de LARAVEL 10 Sistema de control de asistencia

Duración: 12 min
Módulo: Reportes Profesionales, Roles y Despliegue Final 🛡️ Lección 3 de 9

Descripción

🔒 Implementación de Roles y Permisos con Spatie

El video detalla el proceso paso a paso para integrar el paquete spatie/laravel-permission, que facilita la gestión de roles y permisos en la base de datos y la lógica de la aplicación.

1. Instalación del Paquete

Se utilizó Composer para descargar e instalar la librería de Spatie, que proporciona la estructura y funcionalidad necesaria:

  • Comando de instalación:

    Bash

    composer require spatie/laravel-permission

    (Referencia:)

2. Configuración e Integración

Tras la descarga, se realizaron los siguientes ajustes de configuración:

  • Registro del Service Provider: Se añadió la línea del proveedor de servicios del paquete en el archivo de configuración de la aplicación (config/app.php) para que Laravel lo reconozca.
  • Publicación de Recursos: Se ejecutó el comando para publicar los archivos de configuración y las migraciones del paquete en el proyecto.
  • Optimización: Se ejecutó un comando de optimización recomendado por la documentación de Laravel.

3. Migración de la Base de Datos

El paquete viene con migraciones predefinidas que son esenciales para su funcionamiento. Al ejecutar el comando de migración, se añadieron cinco nuevas tablas al esquema de la base de datos:

  • permissions (permisos individuales, ej: crear_usuario).
  • roles (grupos de permisos, ej: Administrador).
  • Tablas pivote para la relación entre modelos, roles y permisos (ej: model_has_roles, que conecta usuarios con roles, y role_has_permissions, que conecta roles con permisos).

4. Modificación del Modelo User

Para que el sistema de autenticación de Laravel reconozca la funcionalidad de roles y permisos, se integró un trait en el modelo User:

  • Se añadió el trait HasRoles de Spatie al modelo App\Models\User.