2.3 KiB
2.3 KiB
DH Inspección V2 — Fase A6
Versión
v0.6.0 · Fase A6 · Panel web administrativo
Rutas web
/login
/
/change-password
/admin/users
/admin/users/new
/admin/users/:id
/admin/roles
/admin/audit
Autenticación web
- el JWT de acceso y el token de renovación permanecen en cookies seguras;
- el frontend no almacena JWT en
localStoragenisessionStorage; - las escrituras envían
x-csrf-token; - un acceso vencido intenta una única renovación y repite el request original;
- una sesión inválida vuelve al login;
- la contraseña temporal bloquea todos los módulos hasta ser cambiada;
- el cierre de sesión revoca la sesión actual.
Autorización visible
La navegación y las acciones se ocultan cuando el usuario no dispone del permiso correspondiente. El backend continúa siendo la autoridad definitiva.
| Área | Permiso |
|---|---|
| Dashboard | dashboard.read |
| Usuarios | users.read, users.create, users.update, users.change_status, users.assign_roles |
| Roles | roles.read, roles.manage |
| Auditoría | audit.read |
Resumen administrativo
A6 agrega:
GET /api/v3/dashboard/summary
Requiere dashboard.read y devuelve:
- usuarios activos;
- usuarios inactivos;
- sesiones vigentes;
- seis eventos recientes de auditoría;
- fecha de generación.
La lectura se ejecuta dentro de una transacción REPEATABLE READ.
Usuarios
- búsqueda y filtro por estado;
- paginación;
- alta con contraseña temporal y roles;
- edición de datos personales;
- activación y desactivación;
- asignación múltiple de roles;
- información de último acceso, bloqueo y cambio de contraseña.
Se mantienen las protecciones de A4: no es posible desactivar la propia cuenta, quitar el último administrador de recuperación ni dejar el sistema sin acceso administrativo.
Roles y permisos
- listado de roles del sistema y personalizados;
- alta de roles personalizados;
- edición de nombre y descripción;
- matriz dinámica de permisos;
- cantidad de usuarios por rol.
Auditoría
- filtros por texto, acción, origen y fechas;
- paginación;
- detalle técnico en panel lateral;
- visualización de
beforeData,afterDataymetadataya sanitizados.
Migraciones
A6 no cambia el esquema y no incluye migraciones.