Roadmap
Estado por fase
Sección titulada «Estado por fase»| Fase | Nombre | Estado | Resultado |
|---|---|---|---|
| 1 | Base Identity | Implementado | ASP.NET Core Identity con usuarios, roles y SQL Server. |
| 2 | Portal Web | Implementado | Login, dashboard, usuarios, roles y 2FA. |
| 3 | Seguridad | Implementado parcial | 2FA, Turnstile, permisos, cookies y auditoría. |
| 4 | API Identity | Implementado | Endpoints REST para auth, users, roles y 2FA. |
| 5 | Operación/Deploy | Documentado | Guía IIS/SQL/SMTP/Cloudflare. |
| 6 | DomainRegistry | Pendiente | Módulo futuro de dominios. |
| 7 | Producción | Pendiente | VM, HTTPS, SMTP real, secrets, monitoreo y backups. |
Implementado
Sección titulada «Implementado»- Arquitectura modular por capas.
- Esquema SQL
identity. - Login con ASP.NET Core Identity.
- 2FA con TOTP.
- Turnstile configurable.
- Email SMTP configurable.
- Auditoría de eventos de autenticación y administración.
- Roles dinámicos.
- Permisos por RoleClaims.
- Menú dinámico por permisos.
- API Identity para autenticación y administración.
Pendiente prioritario
Sección titulada «Pendiente prioritario»| Prioridad | Mejora | Justificación |
|---|---|---|
| Alta | Botones dinámicos por permiso | Evita mostrar acciones que luego fallan server-side. |
| Alta | Revisión final de permisos de Administrador | Define alcance real del rol administrativo. |
| Alta | Producción con secretos seguros | Requisito para despliegue real. |
| Alta | HTTPS + Turnstile + SMTP real | Requisito de seguridad productiva. |
| Media | Auditoría avanzada | Agregar ActorUserId, TargetUserId y CorrelationId. |
| Media | Monitoreo y backups | Necesario para operación. |
| Media | Pruebas automatizadas | Reducir riesgo de regresiones. |
DomainRegistry futuro
Sección titulada «DomainRegistry futuro»Permisos sugeridos:
DomainRegistry.Domains.ViewDomainRegistry.Domains.CreateDomainRegistry.Domains.UpdateDomainRegistry.Domains.DeleteDomainRegistry.Domains.ExportCriterio:
DomainRegistry debe usar el sistema de permisos de Identity, pero no mezclar su lógica de dominio con el módulo Identity.Criterio de cierre del módulo Identity
Sección titulada «Criterio de cierre del módulo Identity»El módulo puede considerarse cerrado cuando:
- Login funciona.
- 2FA funciona.
- Turnstile está integrado y configurable.
- Email de alerta no bloquea login.
- Usuarios y roles se administran desde interfaz.
- Permisos se asignan a roles.
- Menú y botones se muestran por permisos.
- Handlers validan permisos server-side.
- No quedan autorizaciones por rol hardcodeado para páginas administrativas.
- Tablas viven en esquema
identity. - Auditoría registra eventos sensibles.
- No hay hardcoding de clientes en código.