1.1 KiB
1.1 KiB
DH Inspección V2 — Fase A3
Versión
v0.3.0 · Fase A3 · Guards y autorización
Alcance
A3 agrega autorización declarativa y reutilizable al backend:
@RequirePermissions('users.create')
PermissionsGuard se registra globalmente después de AccessTokenGuard. Los
permisos se resuelven desde las relaciones user_roles y role_permissions
en cada request autenticado, por lo que los cambios futuros de A4 no dependen
de regenerar el access token.
Reglas:
- endpoint sin sesión:
401 UNAUTHORIZED; - sesión válida sin todos los permisos requeridos:
403 FORBIDDEN; - sesión con todos los permisos requeridos: acceso permitido;
- permisos de controller y handler se acumulan;
- endpoints marcados con
@Public()no requieren permisos; - el frontend podrá ocultar acciones, pero la autorización definitiva siempre queda en el backend.
Migraciones
A3 no modifica el esquema y no incluye migraciones. Utiliza la matriz de roles y permisos creada en A1.
Exclusiones
- endpoints administrativos de usuarios y roles: A4;
- consultas administrativas de auditoría: A5;
- login y panel web autenticado: A6.