UDT-006: Middleware de Autorización (RBAC enforcement) #10
Reference in New Issue
Block a user
Delete Branch "feature/UDT-006"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Cierre del módulo Auth (UDT-001..006). Enforcement de permisos end-to-end basado en el catálogo de UDT-005.
Backend (.NET 10)
[RequirePermission("modulo:accion")]viaIAuthorizationRequirementData— sin named policiesPermissionAuthorizationHandlerresuelve permisos por claimrolcontradbo.RolPermiso(sin cache)ForbiddenProblemDetailsHandler : IAuthorizationMiddlewareResultHandler→ 403 con{ type, title, status, detail, permisoRequerido }LoginCommandHandlerdeja de leerPermisosJsony toma permisos desdeIRolPermisoRepository(aditivo, no breaking)Usuarios/Roles/Permisos) migran de[Authorize(Roles="admin")]a[RequirePermission(...)]administracion:roles:gestionar,administracion:roles_permisos:gestionar,administracion:permisos:ver) asignados al adminFrontend (React 19)
AuthUser.permisos: string[]enauthStore+ persistido desde login responseusePermission(code)+<CanPerform permission=... />(OR semantics en array)ProtectedRouteextraído acomponents/routing/conrequiredRoles?/requiredPermissions?(OR) — integrado enrouter.tsxCreateUserPage,RolesPage,NewRolPage,EditRolPage,RolPermisosPageSDD Artifacts (engram)
sdd/udt-006-middleware-autorizacion/*Test plan
dotnet test— 282/282 (Application 222 + Api 60)cd src/web && npx vitest run— 76/76permisoRequeridoSIGCM2(prod) antes del deployCloses #5