Manager de Roles y Usuarios
Versión 1.0.0 del Manager disponible a partir de versión 4.0.0 de Onesait Platform
¿Cómo funciona?
Nuestro módulo de Roles&Usuarios surge de la necesidad que existe en las aplicaciones de gestionar el alcance funcional de los usuarios dentro de los distintos módulos de las mismas. Este objetivo común de las aplicaciones nos hace buscar una solución conjunta y unificada en las que los desarrollos de las nuevas aplicaciones se pueden apoyar y no realizar un desarrollo propio e independiente. Con esto, además de ahorrar en tiempo y dinero, se hará una solución colaborativa y resolver un problema común de una manera más eficaz.
Componentes
A continuación, vamos a ver de forma muy resumida los componentes que tratamos en Roles & Usuarios y que nos aporta cada uno.
Producto: dicho componente se refiere a un Producto Software. El administrador tendrá su espacio para administrar su seguridad referente a su producto. Podrá crear roles, asociándoles módulos (submódulos) y permisos (subpermisos) para definir la seguridad del producto de una manera global.
También crear proyectos para hacer una gestión personalizada de la seguridad por proyectos y podrá invitar a otras personas a administrar tanto el producto como a proyectos para que lo administren.
Proyecto: dicho componente representa a un cliente dentro de un producto. El administrador del producto o alguna persona que haya dando acceso al proyecto concreto para administrar tendrá la posibilidad de personalizar su seguridad si así se requiere. Por defecto, heredará lo definido en el producto y se podrá extender con roles, módulos (submódulos) y permisos (subpermisos) si lo requiere.
Al tratarse de proyecto, se podrá gestionar los usuarios asociándoles roles para determinar el alcance dentro del proyecto o aplicación
Usuarios: el componente usuarios solo aparece en el componente de proyectos de un producto. Es el componente identificativo para la aplicación y siempre tendrá mínimo un rol para determinar su alcance dentro de un proyecto o aplicación.
Módulos y submódulos: estos componentes son simplemente una separación funcional de la aplicación o una forma de independizar características particulares de la aplicación para facilitar la seguridad de la misma.
Permisos y subpermisos: estos componentes identifican las acciones concretas que se pueden hacer dentro de la aplicación.
Roles: dicho componente es la agrupación de permisos y módulos que se asociará a los usuarios definiendo su ámbito de actuación y acceso en el sistema.
En la siguiente imagen se muestra como interactuarán entre sí los niveles de roles, permisos, módulos y usuarios:
Los Usuarios podrán tener 1 o n roles.
Cada Rol podrá tener asociado directamente los permisos (y subpermisos), o por el contrario podrá tener asociado módulos (y submódulos)
Cada Módulo (o submódulo) deberá tener asociado permisos (y subpermisos).
Los Permisos identificarán las acciones permitidas a realizar para la lógica de negocio que se haya definido.
Características
A continuación detallamos las características más importante en nuestro módulo de roles y usuarios:
Posibilidad de aplicación SaaS centralizada en una sola instancia o instalarla en entorno propio.
Gestión a nivel de Productos.
Personalización a nivel de Proyectos.
Administradores a nivel de Productos y/o Proyectos.
Keycloak como estándar IAM.
Librería de aceleración para facilitar la integración desde los productos. (ejemplo: @Preauthorize("existsModule('Dashboards')"))
¿Dónde probarlo?
Para obtener información detallada puedes consultar nuestro manual de usuario:
o ver los videos explicativos del uso del componente : Manager de Roles y Usuarios - Vídeos
Si quieres conocer como hacer la integración del módulo con back-end y como utilizarlo, puede verlo aquí.