Lorsque votre application est en cours d'exécution, vous avez souvent besoin de savoir qui exécute certains processus. Cela est nécessaire pour distribuer correctement les données et accorder ou restreindre l'accès aux différentes ressources. Cette fonctionnalité est utilisée dans presque toutes les applications.

Comment identifier l'utilisateur actuel dans AppMaster

Du côté du backend

Il existe un bloc Auth : Get Current User dans AppMaster pour détecter l'utilisateur actuel. Il est fourni par le module Auth. Vous pouvez le trouver dans l'éditeur de processus d'affaires dans l'onglet backend sur la gauche.

Get Current User block in AppMaster

Ce bloc retourne un enregistrement de la base de données des utilisateurs qui appartient à l'utilisateur qui a lancé le bloc.

Important :

Le bloc Auth : Get Current User ne fonctionne que pour les utilisateurs autorisés. Dans tous les autres cas, le résultat de ce bloc sera indéfini.

Avec cette méthode simple, nous pouvons obtenir l'utilisateur actuel de notre application. Cependant, ce bloc n'existe que dans le backend, mais dans la plupart des cas, il est nécessaire pour identifier l'utilisateur dans le frontend de l'application.

Du côté du frontend

Pour exécuter des processus dans le backend depuis le frontend, on utilise les endpoints. Vous pouvez trouver plus d'informations à leur sujet dans cet article.

Pour le bloc Auth : Get Current User, vous devez créer un nouvel endpoint, comme cela est fait sur la capture d'écran ci-dessous :

Get Current User block

Pour invoquer l'endpoint depuis le frontend, le bloc Server Request GET /user/get-current doit être utilisé (dans le cas présent). Le flux d'utilisation de l'endpoint est le même pour les applications web et mobiles.

Server Request GET

Travailler avec l'utilisateur actuel

Voyons quelques exemples d'utilisation du bloc Auth : Get Current User. Le bloc lui-même renvoie un enregistrement de la table User. Pour obtenir des données spécifiques de l'enregistrement, vous devez développer cet enregistrement avec le bloc Expand User :

Get Current User

Tous les champs de la sortie peuvent être utilisés d'une manière spécifique. Par exemple, pour vérifier si le compte de l'utilisateur est confirmé, le champ Confirmé de type booléen peut être utilisé comme dans l'image ci-dessous.

AppMaster

Paramètre avec

Le paramètre With de la sortie spécifie si la requête doit être effectuée en utilisant des tables liées. Ainsi, par exemple, pour obtenir des données de la table Sessions d'utilisateur pour l'objet Utilisateur actuel (c'est-à-dire une liste des sessions d'utilisateur actuelles), vous devez spécifier la valeur du champ with pour rechercher la table associée (Sessions d'utilisateur dans ce cas).

Parameter With

Important !

Le paramètre With complique la requête et augmente donc son temps de traitement. Il n'est pas utilisé par défaut et ne l'est que si nécessaire.

Conclusion

Dans cet article, nous avons appris comment déterminer l'utilisateur actuel de l'application du côté backend et du côté frontend. Cette fonction est l'une des plus fréquemment utilisées dans le développement d'applications. Avec AppMaster, vous pouvez réaliser ces requêtes facilement avec quelques combinaisons de blocs de processus métier.