Migrar angular-permission a Angular moderno
angular-permission definía permisos y roles, protegía los estados de ui-router mediante data.permissions y ocultaba elementos con directivas. Está atada a AngularJS y a sus routers.
Qué la reemplaza
| Opción | Cuándo elegirla |
|---|---|
| Route guards + your own directive | Guards funcionales (canActivate, canMatch) para las rutas y una directiva estructural pequeña para mostrar u ocultar elementos. |
| ngx-permissions | Conceptos parecidos a angular-permission: permisos, roles, un guard y directivas. |
| CASL (@casl/angular) | Cuando las reglas dependen de la acción y del registro, no solo de un rol. |
Cómo migrarla
- Exporta la lista de permisos y roles, y dónde se revisa cada uno: estados, templates y controladores.
- Crea un PermissionService que cargue una sola vez los permisos del usuario y que compartan ambos frameworks.
- Reemplaza los permisos de los estados por guards de ruta, y las directivas de los templates por tu propia directiva, a medida que se mueve cada pantalla.
Cuidado con. Carga los permisos antes de la primera navegación, o al refrescar la página los usuarios con sesión terminan en la pantalla de acceso denegado. Y ocultar un botón no es seguridad: la API debe aplicar las mismas reglas.
Otras librerías
- angular-xeditable
- angular-bootstrap-datetimepicker / ui-date
- angular-pdf / pdf.js directives
- ngClipboard / angular-clipboard
¿Planeas una migración o una plataforma de microfrontends?
En una llamada de 20 minutos me cuentas tu situación y te digo cómo la abordaría. Si todavía no vale la pena, también te lo digo.
Escríbeme por LinkedIn