En este artículo, veremos cómo la plataforma sin código AppMaster.io resuelve el problema de acceso a los datos para los usuarios de la aplicación.

Ocurre al introducir roles como Usuarios, Moderadores, Administradores y otros requisitos. Esta solución brinda más flexibilidad dentro de su aplicación integrada y controla el acceso a la información y la funcionalidad dentro de la aplicación integrada.

El artículo será útil para cualquiera que quiera sumergirse en la funcionalidad de la plataforma AppMaster.io y ver sus capacidades en términos de configuración para acceder a datos por roles.

Autenticación del módulo por AppMaster.io

El registro en la aplicación ensamblada en nuestra plataforma está representado por el módulo Auth , que le permite crear y editar grupos de usuarios y acceder a sus derechos. El módulo Auth ya está preinstalado en el proyecto cuando se crea.

Мodule Auth by AppMaster.io

Configuraciones disponibles del módulo de autenticación:

SignUp Groups : lista de grupos de usuarios que pueden registrarse;

SignUp — incluye la posibilidad de registrarse en la aplicación;

Tiempo de espera de la sesión (minutos ): el tiempo después del cual finalizará la sesión del usuario actual si el usuario está inactivo (en minutos). El valor predeterminado es 60 minutos;

Retraso de inicio de sesión fallido (en ms) : tiempo de retraso para una respuesta del servidor en caso de un intento de inicio de sesión fallido (en ms). El valor predeterminado es 0 ms;

Se requiere confirmación por correo electrónico : una opción que implica la verificación por correo electrónico si está habilitada;

Usuario registrado activo : establece el atributo activo en Verdadero para cada usuario registrado.

Grupos : le permite crear y editar grupos de usuarios.

AppMaster.io utiliza el Diseñador de modelos de datos para trabajar con modelos.

Usuario y Sesión de usuario son dos modelos creados automáticamente en el Diseñador de modelos de datos. Los campos del modelo de datos preinstalados no se pueden modificar ni eliminar, pero se pueden agregar nuevos.

User and User Session

Para estos modelos, también se crean automáticamente bloques de procesos de negocio (BP).

BP generados automáticamente asociados con usuarios y sesiones de usuarios

  • Modelo de usuario

DB: Eliminar usuario : elimine el objeto Usuario de la base de datos a través de ID;

Delete User in AppMaster

DB: Actualizar usuario : restablece todos los campos del bloque de objeto de usuario pasados a la entrada en la base de datos y los actualiza de acuerdo con los valores especificados (para cambiar solo los campos especificados, se usa el bloque DB: Patch User);

Update User

DB: Crear usuario : almacena en la base de datos y devuelve el objeto Usuario dado (para construirlo a partir de los campos dados, use el bloque Crear usuario);

Create User

DB: usuario de eliminación temporal: actualiza el atributo DeletedAt en el objeto de usuario y lo deja en la base de datos;

Soft Delete User

DB: Usuario de eliminación masiva : toma como entrada una matriz de ID (ID) de objetos de usuario que se eliminarán de la base de datos;
fail_ids: una matriz de ID de usuario que no se eliminarán;

Bulk Delete User

DB: Usuario de revisión : actualiza los campos especificados del objeto Usuario en la base de datos (para restablecer todos los campos, use el bloque DB: Actualizar usuario);

Patch User

DB: Usuario de búsqueda : encuentra uno o más objetos de usuario en la base de datos en función de los campos y los devuelve;

Search User

DB: GetOne User: encuentra el objeto Usuario en la base de datos por su ID y lo devuelve;

GetOne User

Expandir usuario : devuelve todos los campos del objeto Usuario seleccionado;

Expand User

Crear usuario: crea un nuevo objeto Usuario en la memoria a partir de los campos dados y lo devuelve (para guardar el objeto creado en la base de datos, use el bloque DB: Crear usuario);

Make User

  • Modelo de sesión de usuario

DB: Eliminar sesión de usuario : elimina el objeto Sesión de usuario de la base de datos por la ID pasada;

Delete User Session

DB: Actualizar sesión de usuario : restablece todos los campos del objeto Sesión de usuario pasados al bloque de entrada en la base de datos y los actualiza de acuerdo con los valores especificados (para cambiar solo los campos especificados, use DB: Parchear sesión de usuario);

Update User Session

DB: Crear sesión de usuario : almacena en la base de datos y devuelve el objeto de sesión de usuario dado (para construirlo a partir de los campos dados, use el bloque Crear sesión de usuario);

Create User Session

DB: sesión de usuario de eliminación temporal: actualiza el atributo DeletedAt del objeto de sesión de usuario y lo deja en la base de datos;

Soft Delete User Session

DB: Eliminación masiva de sesión de usuario: acepta como entrada un conjunto de ID de objetos de sesión de usuario que se eliminarán de la base de datos;
fail_ids: la matriz define el conjunto de ID que no se eliminarán;

Bulk Delete User Session

DB: Patch User Session : actualiza los campos especificados del objeto User Session en la base de datos (para restablecer todos los campos, use el bloque DB: Update User Session);

Patch User Session

DB: Buscar sesión de usuario : encuentra uno o más objetos de sesión de usuario en la base de datos en función de los campos y los devuelve;

Search User Session

DB: GetOne User Session : encuentra el objeto User Session en la base de datos por su ID y lo devuelve;

GetOne User Session

Expandir sesión de usuario : devuelve todos los campos del objeto de sesión de usuario seleccionado;

Expand User Session

Crear sesión de usuario : crea un nuevo objeto de sesión de usuario en la memoria a partir de los campos proporcionados y lo devuelve (para guardar el objeto creado en la base de datos, use el bloque DB: Crear sesión de usuario);

Make User Session

  • Módulo de autenticación

Auth: Generar token de autenticación: genera un token de autorización (token de autenticación) de una longitud determinada;

Generate Auth Token

Auth: Registro : registra un nuevo usuario;

Auth: Registration

Auth: Authorization — verifica si el token de autenticación existe en el sistema y devuelve el usuario asociado con él;

Auth: Authorization

Auth: Authentification : comprueba el nombre de usuario y la contraseña del usuario y devuelve un token de autenticación;

Auth: Authentification

Auth: Logout : acepta un token de autenticación y finaliza la sesión del usuario actual;

Auth: Logout

Auth: Obtener usuario actual : devuelve los datos del usuario actual;

Auth: Get current user

Auth: Eliminar usuario del grupo : elimina un usuario del grupo especificado por su ID (definido en la configuración del módulo Auth);

Auth: Remove user from group

Auth: Agregar usuario al grupo : agrega un usuario al grupo de usuarios especificado por su ID (definido en la configuración del módulo Auth);

Auth: Add user to the group

Auth: Hash Password : convertir una cadena de contraseña en un hash;

Auth: Hash Password

Auth: Restore Password — acepta el nombre de usuario y la nueva contraseña del usuario, restableciéndolo así;

Auth: Restore Password

Auth: Change Password : reemplaza la contraseña de usuario actual por una nueva;

Auth: Change Password

Auth: Probe Password — verificación de contraseña y coincidencia de hash;

Auth: Probe Password

Los puntos finales del módulo de autenticación y los modelos de usuario y sesión de usuario se generan automáticamente cuando se crea el proyecto.

Módulo de autenticación

Tipo de solicitud punto final BP conectado
post type /cerrar sesión/ Autenticación: cerrar sesión
post type /autorización/ Autenticación: Autenticación
post type /Registrarse/ Autenticación: Registro
get type /confirmar/ Autenticación: Registro
put type /usuario/cambiar-contraseña Autenticación: Cambiar contraseña
post type /usuario/restaurar-contraseña/ Autenticación: restaurar contraseña
get type /perfil del usuario/ Autenticación: Autorización

Usuario

Tipo de solicitud punto final BP conectado
put type /usuario/:id/ BD: Actualizar usuario
delete type /usuario/:id/ DB: Eliminar usuario
get type /usuario/:id/ DB: Obtener un usuario
get type /usuario/ BD: Usuario de búsqueda
patch type /usuario/:id DB: Usuario de parche
post type /usuario/ BD: Crear Usuario

Sesión de usuario

Tipo de solicitud punto final BP conectado
delete type /sesión-de-usuario/:id/ DB: Eliminar sesión de usuario
get type /sesión-de-usuario/:id/ DB: sesión de usuario GetOne
get type AppMaster /usuario-sesion/ DB: sesión de usuario de búsqueda
patch type AppMaster /sesión-de-usuario/:id/ DB: sesión de usuario de parches
post type AppMaster /usuario-sesion/ DB: Crear sesión de usuario
put type AppMaster /sesión-de-usuario/:id/ DB: Actualizar sesión de usuario

El token de autenticación se utiliza como el token de sesión actual del usuario autorizado. En la aplicación web BP, es posible interactuar con este token:

  1. Obtener token de autenticación devuelve la autenticación de la sesión de usuario autenticado actual;
    Get Auth Token returns the Auth of the current authenticated user session
  2. Establecer token de autenticación sobrescribe el token de autenticación de la sesión actual del usuario autorizado;
    Set Auth Token
  3. Eliminar token de autenticación elimina el token de autenticación de la sesión actual del usuario autorizado;
    Remove Auth Token

El ejemplo muestra cómo obtener el usuario actual.

Para hacer esto, vaya a la pestaña Lógica de negocios y arrastre Auth: Get current user block.

A continuación, se crea un punto final para el BP creado, que se utilizará para contactar con el servidor para obtener el objeto del usuario actual.

Seleccione el grupo de usuarios en la sección Puntos finales y cree un método de solicitud GET para el proceso recién creado para obtener el usuario actual.

En la aplicación web BP, realice una solicitud al punto final creado (Solicitud del servidor GET /user_current) para obtener el usuario actual.

Grupos y permisos

Los grupos de usuarios se crean en la configuración del módulo Auth. Para ir a la configuración del módulo, debe abrir la sección Módulos y hacer clic en la tarjeta del módulo correspondiente.

La pestaña Grupos contiene una lista de todos los grupos existentes. Haga clic en Agregar un nuevo elemento para crear un nuevo grupo de usuarios. En la nueva ventana modal, puede personalizar el grupo, agregar una descripción, icono, icono y color de etiqueta y etiqueta.

pMaster" data-mce-src="https://ws.apms.io/api/_files/SRiacHHyULYU6EqLSbrp6e/download/">

Para editar grupos de usuarios existentes, también debe ir a la configuración del módulo Auth. Para ello, acceda a la sección Módulos y haga clic en la ficha del módulo correspondiente. A continuación, en la pestaña Grupos, estará disponible una lista de grupos, para editarla debe hacer clic en el icono de configuración. En la nueva ventana modal, puede personalizar el grupo, cambiar su descripción, icono, icono y color de etiqueta y etiqueta.

Editing existing user groups

Para cambiar los derechos de lectura/escritura de entradas en la base de datos para ciertos grupos de usuarios, se utiliza el módulo Middleware of the Auth.

En la sección Puntos finales, seleccione el Punto final cuyos permisos de lectura/escritura desea cambiar. Haga clic en el botón de configuración en el Endpoint deseado y vaya a la pestaña Middleware en la ventana modal que se abre. A continuación, al hacer clic en Editar configuración en la línea con Token Auth Middleware, configure los derechos de acceso.

Access to pages in the web application

Acceso a páginas en la aplicación web: debe ir a la aplicación web y hacer clic en el botón Configuración de la página a la que desea restringir el acceso.

En el campo Mostrar para grupos, debe seleccionar una lista de grupos de usuarios que podrán ver esta página. De forma predeterminada, el campo está vacío y se permite el acceso a todas las categorías de usuarios.

Access to pages in the web application 2

Conclusión

El acceso a los datos por roles es una forma conveniente de organizar los flujos de información para grupos específicos de usuarios. Con la plataforma sin código AppMaster.io , puede probar esta función en una prueba.

Si está impresionado con la funcionalidad, obtenga nuestro plan Profesional, que incluye esta función, también exportación de archivos binarios, copias de seguridad periódicas, transferencias de proyectos y mucho más. Te esperamos en la plataforma AppMaster.io para implementar hasta tus proyectos más atrevidos.