Volver a la wiki

Refactor R7 lote P2 · Autorización por scope módulo (is_admin → require_perm)

Resumen

Refactor arquitectónico de autorización (auditoría s187 §3.3-P2): 52 gates de endpoints Ninja migrados del helper legacy is_admin() a require_perm(request, "<scope>", "admin"). Con roles por defecto el comportamiento es idéntico (solo admin alcanza nivel admin); la mejora deliberada es que los overrides por módulo (ModulePermission / TemporaryAccess) ahora se evalúan contra el scope correcto del módulo, en lugar de siempre exigir users:admin.

Versión: v1.45.0 (2026-07-04)
Scopes migrados: users, racks, network, fleet
Archivos afectados: 15 (core/api, racks/api, network/api, terminal/api)


Cambios por módulo

Nota de curación (s197): la primera versión de esta sección listaba RUTAS inventadas por el escritor; se reemplazó por el inventario real a nivel de función, verificado contra el diff del PR #270.

Core → scope users (6 ficheros, 22 gates)

Racks → scope racks (7 ficheros, 10 gates)

Network → scope network (1 fichero, 7 gates)

Terminal → scope fleet (1 fichero, 5 gates)


Mejoras de autorización

Antes

Después


Fixes colaterales

GET /api/backup/latest (latent 500)


Deprecación

ChartDefaultsIn.refresh_interval (retirada)


Impacto usuario


Testing


Véase también

Subir