Skip to content

PSE7-146 | Gestionar navegación del frontend según permisos

elias.hernandez requested to merge feature/pse7-146-navegacion-por-permisos into dev

Resumen

Se adapta la navegación del frontend para mostrar y permitir el acceso a las distintas secciones según los permisos del usuario autenticado.

Cambios realizados

  • Se creó AuthContext para centralizar los datos del usuario autenticado.
  • Se eliminan peticiones repetidas a /api/auth/me desde distintos componentes.
  • El Header, Sidebar, saludo y protector utilizan el usuario compartido por el contexto.
  • Se centralizó la configuración del menú y sus permisos.
  • El Sidebar muestra únicamente las opciones habilitadas para el usuario.
  • Se agregó validación de permisos al ProtectorDashboard.
  • Se impide acceder manualmente mediante URL a rutas sin autorización.
  • Los accesos no autorizados redirigen al inicio del dashboard.
  • Se mantiene soporte para usuarios con varios roles y roles personalizados.
  • Se conserva la foto de perfil y las iniciales como respaldo.

Validaciones realizadas

  • Inicio de sesión y recarga del dashboard.
  • Visualización del nombre, rol y foto del usuario.
  • Menú completo para Administrador.
  • Menú limitado para Estudiante.
  • Bloqueo de acceso manual a /administracion, /usuarios y /reportes para usuarios sin permisos.
  • Acceso permitido a /instancias y /recordatorios según permisos.
  • Cierre de sesión.
  • Verificación de reducción de llamadas repetidas a /api/auth/me.

Seguridad

La protección implementada mejora la navegación y experiencia del frontend. La autorización definitiva de datos y operaciones continúa siendo responsabilidad del backend.

Merge request reports

Loading