59 🔑 Seguridad de UI: Ocultando y Mostrando Componentes con la Directiva @can de Laravel Blade
Duración: 15 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 59: 🔑 Seguridad de UI | Ocultando y Mostrando Componentes con la Directiva @can de Laravel Blade
Esta lección se centra en completar la implementación de Roles y Permisos, extendiendo la lógica de seguridad a la interfaz de usuario (UI). El objetivo es que los usuarios solo vean en el menú y el dashboard la información y las opciones para las que tienen permisos explícitos.
1. 🧱 Restricción del Menú de Navegación
Se utiliza la directiva @can de Laravel Blade, proporcionada por la librería Spatie, para envolver cada elemento del menú y restringir su visibilidad:
- Directiva @can 🛡️: Esta directiva envuelve un bloque de código y solo lo renderiza si el usuario actualmente autenticado tiene el permiso especificado [03:02].
- Aplicación a Ítems del Menú 🧭: Cada elemento del menú (Inicio, Roles, Usuarios, Categorías, Productos, Pedidos, Ajustes) se envuelve con @can('nombre del permiso') y el nombre exacto del permiso asociado a su listado [04:08].
- Resultado ✨: Al ingresar con un usuario de "Rol de Prueba" (que solo tiene acceso a usuarios), el menú desaparece y solo se visualizan los enlaces de "Inicio" y "Usuarios" [07:30]. Se demuestra en tiempo real que al añadir el permiso de "Categorías" al rol, el ítem de menú aparece instantáneamente [07:58].
2. 📊 Restricción de Cards en el Dashboard
Se aplica la misma lógica para ocultar los cards informativos del dashboard a usuarios no autorizados, garantizando que el diseño se mantenga limpio y relevante:
- Aplicación a Componentes de Vista 🖼️: La directiva @can se aplica a la columna completa (<div class="col-md-3">) que contiene cada card del dashboard [09:04].
- Listado de Permisos para Cards 🏷️: Se utilizan permisos de visualización (ej., listado de roles, listado de usuarios, listado de categorías, etc.) para controlar la aparición de cada estadística [09:26].
- Resultado Dinámico 💨: Se verifica que, al quitar el permiso de "Listado de roles" al "Rol de Prueba", el card de roles desaparece del dashboard [09:46]. El diseño se autoajusta para llenar el espacio vacío, manteniendo la coherencia visual [10:05].
3. 🌟 Conclusión de Módulo
- Con la seguridad implementada tanto a nivel de rutas (controlador) como a nivel de interfaz (vistas), el módulo de Roles y Permisos está completamente operativo, ofreciendo un control de acceso robusto y una experiencia de usuario optimizada [14:17].
- El próximo capítulo se enfocará en terminar de aplicar esta lógica a otros elementos pendientes del menú o del dashboard para asegurar la integridad total del sistema [14:25].
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! ❤️