52 ROLES Y PERMISOS en el curso de LARAVEL (PHP y MySql) FullStack

Duración: 8 min
Módulo: 👑 Roles, Permisos y Panel de Control Lección 1 de 4

Descripción

🛡️ Lección 52: ROLES Y PERMISOS en el Curso de LARAVEL

Este capítulo marca el inicio del módulo de Roles y Permisos, esencial para un sistema de gestión de archivos. El instructor introduce e instala la librería Spatie Laravel Permission, una herramienta estándar y altamente recomendada para implementar la lógica de autorización en Laravel.

🛠️ Instalación de Spatie Laravel Permission

El proceso de instalación sigue los pasos de la documentación oficial de la librería:

  1. Requisitos: Se verifica la existencia del modelo User (Usuario) y otros requisitos básicos [01:16].
  2. Instalación del Paquete: Se ejecuta el comando composer require spatie/laravel-permission para descargar e instalar la librería en el proyecto [01:38].
  3. Registro de Proveedor: Se añade el Provider de Spatie en el archivo de configuración config/app.php [04:00].
  4. Migraciones: El paquete crea nuevas tablas cruciales para la gestión de acceso:
    • roles
    • permissions
    • model_has_permissions
    • model_has_roles
    • role_has_permissions
  5. Ejecución de Migraciones: Se ejecuta php artisan migrate para crear estas nuevas tablas en la base de datos [06:07], las cuales automáticamente se relacionan con la tabla de users [06:58].
  6. Integración al Modelo: Se añade el trait HasRoles al modelo User para que este pueda interactuar con los roles y permisos recién creados [07:37].

📄 Definición de Roles para el Sistema

El instructor define los dos roles principales que tendrá el sistema de gestión de archivos:

  • Administrador (admin): Tendrá acceso total para crear, ver, editar y eliminar a otros usuarios dentro del sistema [03:26].
  • Usuario (usuario): Un usuario normal que solo podrá gestionar sus propios archivos y documentos [02:55].

El próximo capítulo comenzará con la programación de la lógica de Spatie para implementar estos roles y permisos en la aplicación.