21 Interfaz Dinamica, Menú y Elementos del Dashboard Por Roles y Permisos en Laravel Spatie
Duración: 13 minDescripción
📋 Lección 21: Interfaz Dinámica, Menú y Elementos del Dashboard Por Roles y Permisos en Laravel Spatie 🎨🔐
En esta lección se enseña cómo hacer que la interfaz de usuario (UI), el menú de navegación lateral y los componentes del dashboard sean 100% dinámicos, mostrándose u ocultándose automáticamente según los permisos asignados a cada rol mediante las directivas @can de Spatie en Laravel.
🔑 Conceptos Clave y Aspectos Destacados
1. 🎛️ Matriz de Asignación de Permisos desde la Interfaz
- Se añadió una nueva vista en la gestión de roles (/roles/{id}/permisos).
- Muestra todos los permisos agrupados por módulos con casillas de selección (checkboxes).
- El administrador puede otorgar o revocar permisos a cualquier rol (ej. Empleado) en tiempo real desde la interfaz sin tocar código fuente.
2. 🗂️ Menú Lateral Dinámico con Directiva @can
- Se envolvió cada elemento del menú de navegación (vertical-nav.blade.php) dentro de bloques @can('nombre_del_permiso') ... @endcan.
- Si un usuario no posee el permiso para una sección (ej. Sucursales o Usuarios), la opción del menú desaparece por completo de su vista, evitando confusión o accesos no autorizados.
3. 📊 Dashboard Dinámico Ajustado por Rol
- Se aplicó la misma lógica condicional (@can) a las tarjetas (cards) y métricas del dashboard principal.
- Un Empleado ya no visualiza contadores globales sensibles (como el total de ausencias globales o sucursales activas), sino únicamente las tarjetas y estadísticas correspondientes a los módulos para los que tiene autorización.