53 Roles del sistema para los permisos en el curso de LARAVEL (PHP y MySql) FullStack

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

Descripción

Este capítulo, el 53 del curso, se enfoca en la implementación práctica de la librería Spatie Laravel Permission para definir los roles y permisos del sistema.

🛠️ Integración del Trait y Configuración Inicial

El instructor comienza integrando la funcionalidad del paquete Spatie al modelo de usuario:

  • Uso del Trait: Se incorpora el trait HasRoles y su clase de extensión en el modelo User para que el modelo pueda gestionar roles y permisos [00:30].

👤 Definición y Creación de Roles

Se crea un seeder para poblar la base de datos con los roles iniciales del sistema:

  • Creación del Seeder: Se utiliza el comando php artisan make:seeder RoleSeeder para crear un archivo sembrador [01:30].
  • Roles Definidos: Se establecen los dos roles clave del sistema: Administrador (administrador) y Usuario Normal (usuario) [03:00].
  • Población de Roles: Dentro del RoleSeeder, se usa Role::create() para insertar estos dos roles en la tabla de la base de datos [04:09].
  • Ejecución: Se ejecuta la migración con refresh y el seeder (php artisan migrate:fresh --seed) para asegurar que las tablas de roles se creen y se llenen correctamente [08:00].

🔒 Comienzo de la Asignación de Permisos

El video inicia el proceso de asignación de permisos, basándose en el nombre de las rutas de la aplicación:

  • Base de Permisos: Los permisos en el sistema se definirán utilizando el nombre exacto de las rutas web de Laravel (ej. admin.index, usuarios.create) [09:46].
  • Asignación de Acceso: Se muestra cómo se asigna cada permiso a los roles definidos utilizando el método syncRoles():
    • Para la ruta principal (admin.index), se asigna el acceso tanto al rol administrador como al rol usuario [11:08].
    • Para rutas sensibles como el listado de usuarios (usuarios.index), el permiso se restringe únicamente al rol administrador [11:38].

El instructor informa que continuará con la asignación de todos los permisos restantes en el próximo capítulo.