67 Configuración Masiva de Roles y Permisos en Laravel 12: RoleSeeder y Estructura con Spatie 👑🛠️
Duración: 12 min¡Contenido Exclusivo!
Adquiere este curso para tener acceso inmediato a esta y a **todas las lecciones Premium**.
Inscribirse Ahora por $10.00 Acceso instantáneo de por vida y código fuente incluido.Descripción
👑 Lección 67: Configuración Masiva de Roles y Permisos con Spatie y Seeders
En esta sesión de Benji V2, pasamos de la teoría a la práctica en la gestión de seguridad. Tras haber definido los permisos en las rutas en la lección anterior, ahora aprendemos a registrarlos de forma masiva en la base de datos utilizando Seeders, asegurando que el sistema sea escalable y fácil de desplegar en cualquier entorno.
🛠️ Creación del RoleSeeder
Para no registrar cada permiso manualmente en la base de datos, creamos un sembrador especializado:
- 🏗️ Generación del Seeder: Utilizamos el comando php artisan make:seeder RoleSeeder para centralizar la creación de roles y permisos [03:00].
- 📦 Automatización con GitHub Copilot: Aprovechamos las herramientas de IA para mapear rápidamente cada permiso definido en las rutas hacia la base de datos, cubriendo módulos como Ajustes, Roles, Usuarios, Clientes, Categorías, Préstamos, Pagos y Notificaciones [09:08].
📋 Registro de Permisos por Módulo
Registramos cada acción específica que el sistema puede realizar:
- ⚙️ Ajustes: ver formulario de ajustes, editar ajustes [05:33].
- 👥 Usuarios y Roles: Desde ver listado de roles hasta eliminar usuario, cubriendo todo el CRUD y acciones especiales como restaurar usuario [06:27].
- 💰 Finanzas: Permisos específicos para ver contrato de préstamo, guardar pago y eliminar comprobante [07:45].
- 📲 Comunicación: Acciones de enviar notificación por Gmail y WhatsApp [08:43].
🔄 Refresco y Migración del Sistema
Para aplicar estos cambios de forma limpia, ejecutamos un refresco total de la base de datos:
- 🚀 Comando migrate:fresh --seed: Este comando destruye las tablas actuales, las vuelve a crear y ejecuta los seeders, dejando el sistema con todos los permisos registrados y listos para ser usados [10:19].
- 🧐 Verificación: Confirmamos que la tabla permissions en la base de datos ahora contiene todos los registros con su respectivo guard_name (web) [11:27].
✅ Resultado de la Lección
Al finalizar, el sistema ya "conoce" cuáles son todos los permisos posibles. Aunque los accesos siguen bloqueados (error 403), ya tenemos la materia prima necesaria en la base de datos para empezar a vincular qué rol puede ejecutar cada una de estas acciones.
Lecciones
Apoya este proyecto
Si te gusta nuestro contenido, ¡apóyanos con una donación!
Donar por Airtm Donar por Binance¡Gracias por tu apoyo! ❤️