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.
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.
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;
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);
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);
DB: usuario de eliminación temporal: actualiza el atributo DeletedAt en el objeto de usuario y lo deja en la base de datos;
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;
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);
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;
DB: GetOne User: encuentra el objeto Usuario en la base de datos por su ID y lo devuelve;
Expandir usuario : devuelve todos los campos del objeto Usuario seleccionado;
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);
- 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;
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);
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);
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;
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;
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);
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;
DB: GetOne User Session : encuentra el objeto User Session en la base de datos por su ID y lo devuelve;
Expandir sesión de usuario : devuelve todos los campos del objeto de sesión de usuario seleccionado;
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);
- 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;
Auth: Registro : registra un nuevo usuario;
Auth: Authorization — verifica si el token de autenticación existe en el sistema y devuelve el usuario asociado con él;
Auth: Authentification : comprueba el nombre de usuario y la contraseña del usuario y devuelve un token de autenticación;
Auth: Logout : acepta un token de autenticación y finaliza la sesión del usuario actual;
Auth: Obtener usuario actual : devuelve los datos del usuario actual;
Auth: Eliminar usuario del grupo : elimina un usuario del grupo especificado por su ID (definido en la configuración del módulo Auth);
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: Hash Password : convertir una cadena de contraseña en un hash;
Auth: Restore Password — acepta el nombre de usuario y la nueva contraseña del usuario, restableciéndolo así;
Auth: Change Password : reemplaza la contraseña de usuario actual por una nueva;
Auth: Probe Password — verificación de contraseña y coincidencia de hash;
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 |
---|---|---|
/cerrar sesión/ | Autenticación: cerrar sesión | |
/autorización/ | Autenticación: Autenticación | |
/Registrarse/ | Autenticación: Registro | |
/confirmar/ | Autenticación: Registro | |
/usuario/cambiar-contraseña | Autenticación: Cambiar contraseña | |
/usuario/restaurar-contraseña/ | Autenticación: restaurar contraseña | |
/perfil del usuario/ | Autenticación: Autorización |
Usuario
Tipo de solicitud | punto final | BP conectado |
---|---|---|
/usuario/:id/ | BD: Actualizar usuario | |
/usuario/:id/ | DB: Eliminar usuario | |
/usuario/:id/ | DB: Obtener un usuario | |
/usuario/ | BD: Usuario de búsqueda | |
/usuario/:id | DB: Usuario de parche | |
/usuario/ | BD: Crear Usuario |
Sesión de usuario
Tipo de solicitud | punto final | BP conectado |
---|---|---|
/sesión-de-usuario/:id/ | DB: Eliminar sesión de usuario | |
/sesión-de-usuario/:id/ | DB: sesión de usuario GetOne | |
/usuario-sesion/ | DB: sesión de usuario de búsqueda | |
/sesión-de-usuario/:id/ | DB: sesión de usuario de parches | |
/usuario-sesion/ | DB: Crear sesión de usuario | |
/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:
- Obtener token de autenticación devuelve la autenticación de la sesión de usuario autenticado actual;
- Establecer token de autenticación sobrescribe el token de autenticación de la sesión actual del usuario autorizado;
- Eliminar token de autenticación elimina el token de autenticación de la sesión actual del usuario autorizado;
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://appmaster.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.
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.
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.
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.