19 CRUD completo de Roles en Laravel con Spatie en el Sistema de Turnos Laborales FullStack
Duración: 10 minDescripción
📋 Lección 19: CRUD Completo de Roles en Laravel con Spatie en el Sistema de Turnos Laborales FullStack 🔐
En esta lección se muestra el proceso de implementación y protección de roles en Laravel utilizando el paquete Spatie Laravel-Permission, además de mostrar ajustes de interfaz como la Landing Page pública y la personalización del Login.
🔑 Puntos Clave y Funcionalidades Desarrolladas
1. 🌐 Landing Page y Personalización del Login
- Se reemplazó la vista pública estática por una Landing Page responsiva que consume datos del sistema y cuenta con un carrusel de imágenes promocionales.
- Se adaptó el formulario de inicio de sesión (login) con imágenes de fondo personalizadas e interfaz estilizada.
- Traducción al español del menú superior (body header) y simplificación de las opciones del usuario.
2. 🛡️ CRUD Completo de Roles con Spatie
Se utilizó el RoleController para gestionar el flujo completo mediante DataTables:
- Listado (index): Visualización de roles en tabla dinámica.
- Creación (create / store): Formulario para registrar nuevos roles en la base de datos (ej. "Jefe").
- Edición (edit / update): Actualización inmediata de los nombres y títulos de los roles.
- Eliminación (destroy): Borrado físico de roles secundarios sin afectar a las tablas pivot (model_has_roles).
3. 🔒 Protección de Roles Críticos (superadmin y empleado)
Se agregó una validación de seguridad condicional en la plantilla Blade (index.blade.php):
- Los roles superadmin y empleado quedan protegidos impidiendo su edición o eliminación desde la interfaz.
- Razón: Evita que se rompa la lógica del sistema o que el súper administrador pierda acceso total de forma accidental.
4. 🚨 Demostración de la Necesidad del Módulo de Permisos
- Al iniciar sesión con las credenciales de un empleado genérico, se evidencia que este aún tiene acceso ilimitado a todas las funciones administrativas (crear usuarios, borrar sucursales, etc.).
- Se plantea como siguiente paso la asignación de permisos específicos, limitando las vistas del empleado únicamente a sus turnos asignados, cronogramas personales y solicitudes de ausencias.