Skip to content

ui: menús de consola para login y gestión de usuarios

joaquin.piedracueva requested to merge joaquin_branch into develop

Qué incluye

Interfaz de consola (ui)

  • ui.Main pasa a ser el punto de entrada y reemplaza al Main de la raíz, que solo probaba la conexión.
  • MenuPrincipal: iniciar sesión, "Olvidé mi contraseña" y salir.
    • Si el usuario entra con una contraseña temporal, se le exige definir una nueva antes de continuar (CU01).
    • Después del login muestra el menú según el rol:
      • Administrador: gestión de usuarios, cambiar contraseña. Asignar evaluadores, evaluaciones y consolidación quedan como "Pendiente de implementar".
      • Evaluador: cambiar contraseña. Mis postulaciones queda pendiente.
  • MenuUsuarios (CU03), que pasa por GestionUsuariosProxy: listar, buscar por correo, alta, modificación, activar, inactivar y restablecer contraseña.

Autenticación (AutenticacionService)

  • "Olvidé mi contraseña" ahora genera una contraseña temporal y la envía por correo, en lugar del enlace con token.
  • Nuevo definirContraseniaDefinitiva() para el primer ingreso o después de un restablecimiento.
  • El login devuelve el mismo mensaje para un correo inexistente, una contraseña incorrecta o un usuario inactivo, para no revelar qué correos están registrados.

Base de datos

  • Los scripts de sql/ se renombran a <etapa>_<orden>_<contenido>.sql: etapa 1 crea las tablas y etapa 2 carga los datos. Así Docker los ejecuta en el orden correcto.
  • Datos precargados: nacionalidades, 1 administrador y 3 evaluadores con sus teléfonos.

Otros

  • README: cómo ejecutar ui.Main, la convención de los scripts SQL y la tabla de usuarios de prueba.
  • .gitignore: se ignora /requerimientos (PDFs del curso).

Cómo probar

  1. docker compose down -v && docker compose up -d (para que la base se recree con los scripts nuevos)
  2. mvn clean compile y ejecutar ui.Main
  3. Entrar con admin@secu.uy / Admin1234 → Gestión de usuarios
  4. Entrar con evaluador@secu.uy / Evaluador1234 → Cambiar contraseña
  5. Probar "Olvidé mi contraseña" y volver a entrar con la contraseña temporal
Edited by joaquin.piedracueva

Merge request reports

Loading