Cuando su aplicación se está ejecutando, a menudo necesita saber quién está ejecutando ciertos procesos. Esto es necesario para distribuir correctamente los datos y conceder o restringir el acceso a diferentes recursos. Esta función se utiliza en casi todas las aplicaciones.

Cómo identificar el usuario actual en AppMaster

En el lado del backend

Hay un bloque Auth: Get Current User en AppMaster para detectar el usuario actual. Lo proporciona el módulo Auth. Puede encontrarlo en el editor de procesos de negocio en la pestaña de backend a la izquierda.

Get Current User block in AppMaster

Este bloque devuelve un registro de la base de datos de usuarios que pertenece al usuario que ejecutó el bloque.

Importante

El bloque Auth: Get Current User sólo funciona para usuarios autorizados. En todos los demás casos, el resultado de este bloque será indefinido.

Con este sencillo método, podemos obtener el usuario actual de nuestra aplicación. Sin embargo, este bloque sólo existe en el backend, pero en la mayoría de los casos, es necesario para identificar al usuario en el frontend de la aplicación.

En el lado del frontend

Para ejecutar procesos en el backend desde el frontend se utilizan los endpoints. Puedes encontrar más información sobre ellos en este artículo.

Para el bloque Auth: Get Current User, necesitas crear un nuevo endpoint, como se hace en la captura de pantalla de abajo:

Get Current User block

Para invocar el endpoint desde el frontend, hay que utilizar el bloque Server Request GET /user/get-current (en este caso). El flujo de uso del endpoint es el mismo para aplicaciones web y móviles.

Server Request GET

Trabajando con el usuario actual

Veamos algunos ejemplos del uso del bloque Auth: Get Current User. El bloque en sí devuelve un registro de la tabla User. Para obtener datos específicos del registro, es necesario ampliar este registro con el bloque Expandir usuario:

Get Current User

Todos los campos de la salida se pueden utilizar de forma específica. Por ejemplo, para comprobar si la cuenta de usuario está confirmada se puede utilizar el campo Confirmado de tipo booleano, como en la imagen siguiente.

AppMaster

Parámetros con

Con el parámetro en la salida se especifica si la solicitud debe realizarse con el uso de tablas relacionadas. Así, por ejemplo, para obtener datos de la tabla Sesiones de Usuario para el objeto Usuario actual (que es una lista de las sesiones de usuario actuales), es necesario especificar el valor del campo with para buscar la tabla asociada (Sesiones de Usuario en este caso).

Parameter With

Importante: el parámetro With complica la consulta.

El parámetro With complica la consulta y, por tanto, aumenta su tiempo de procesamiento. No se utiliza por defecto y sólo se usa si es necesario.

Conclusión

En este artículo, hemos aprendido a determinar el usuario actual de la aplicación en el lado del backend y en el lado del frontend. Esta función es una de las más utilizadas en el desarrollo de aplicaciones. Con AppMaster, usted puede realizar estas solicitudes fácilmente con unas pocas combinaciones de bloques de proceso de negocio.