Files

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.