Files
dh-inspeccion-v2/docs/PHASE_A6.md

94 lines
2.3 KiB
Markdown

# DH Inspección V2 — Fase A6
## Versión
```text
v0.6.0 · Fase A6 · Panel web administrativo
```
## Rutas web
```text
/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 `localStorage` ni `sessionStorage`;
- 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:
```text
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`, `afterData` y `metadata` ya sanitizados.
## Migraciones
A6 no cambia el esquema y no incluye migraciones.