Dans cet article, nous verrons comment la plateforme no-code AppMaster.io résout le problème d'accès aux données pour les utilisateurs de l'application.

Cela se produit en introduisant des rôles tels que les utilisateurs, les modérateurs, les administrateurs et d'autres exigences. Cette solution donne plus de flexibilité à l'intérieur de votre application construite et contrôle l'accès aux informations et aux fonctionnalités à l'intérieur de l'application construite.

L'article sera utile à tous ceux qui souhaitent se plonger dans les fonctionnalités de la plateforme AppMaster.io et voir ses capacités en termes de paramètres d'accès aux données par rôles.

Module Auth par AppMaster.io

L'inscription dans l'application assemblée sur notre plateforme est représentée par le module Auth , vous permettant de créer et de modifier des groupes d'utilisateurs et d'accéder à leurs droits. Le module Auth est déjà préinstallé dans le projet lors de sa création.

Мodule Auth by AppMaster.io

Paramètres du module d'authentification disponibles :

Groupes d'inscription — liste des groupes d'utilisateurs pouvant s'inscrire ;

Inscription — inclut la possibilité de s'inscrire dans l'application ;

Délai d'expiration de la session (minutes ) — le temps après lequel la session de l'utilisateur en cours se terminera si l'utilisateur est inactif (en minutes). La valeur par défaut est de 60 minutes ;

Délai d'échec de la connexion (en ms) — délai de réponse du serveur en cas d'échec de la tentative de connexion (en ms). La valeur par défaut est 0 ms ;

Confirmation par e-mail requise - une option qui implique une vérification par e-mail si elle est activée ;

Utilisateur inscrit actif — définit l'attribut actif sur Vrai pour chaque utilisateur enregistré.

Groupes — vous permet de créer et de modifier des groupes d'utilisateurs.

AppMaster.io utilise le concepteur de modèle de données pour travailler avec des modèles.

User et User Session sont deux modèles créés automatiquement dans le Data Model Designer. Les champs de modèle de données préinstallés ne peuvent pas être modifiés ou supprimés, mais de nouveaux peuvent être ajoutés.

User and User Session

Pour ces modèles, des blocs de processus métier (BP) sont également créés automatiquement.

BP générés automatiquement associés à l'utilisateur et aux sessions utilisateur

  • Modèle utilisateur

BD : Supprimer l'utilisateur : supprimez l'objet Utilisateur de la base de données via l'ID ;

Delete User in AppMaster

DB : Update User — réinitialise tous les champs du bloc User-object transmis à l'entrée dans la base de données et les met à jour conformément aux valeurs spécifiées (pour modifier uniquement les champs spécifiés, le bloc DB : Patch User est utilisé) ;

Update User

DB : Create User — stocke dans la base de données et renvoie l'objet User donné (pour le construire à partir des champs donnés, utilisez le bloc Make User) ;

Create User

DB : Soft Delete User — met à jour l'attribut DeletedAt sur l'objet User et le laisse dans la base de données ;

Soft Delete User

DB : Bulk Delete User — prend en entrée un tableau d'ID (ids) d'objets User qui seront supprimés de la base de données ;
failed_ids — un tableau d'ID d'utilisateurs qui ne seront pas supprimés ;

Bulk Delete User

DB : Patch User — met à jour les champs spécifiés de l'objet User dans la base de données (pour réinitialiser tous les champs, utilisez le bloc DB : Update User) ;

Patch User

BD : Rechercher un utilisateur — trouve un ou plusieurs objets Utilisateur dans la base de données en fonction des champs et les renvoie ;

Search User

DB : GetOne User — trouve l'objet User dans la base de données par son ID et le renvoie ;

GetOne User

Développer l'utilisateur — renvoie tous les champs de l'objet utilisateur sélectionné ;

Expand User

Make User — crée un nouvel objet User en mémoire à partir des champs donnés et le renvoie (pour enregistrer l'objet créé dans la base de données, utilisez le bloc DB : Create User) ;

Make User

  • Modèle de session utilisateur

DB : Supprimer la session utilisateur — supprime l'objet Session utilisateur de la base de données par l'ID passé ;

Delete User Session

DB : Update User Session — réinitialise tous les champs de l'objet User Session transmis au bloc d'entrée dans la base de données et les met à jour conformément aux valeurs spécifiées (pour modifier uniquement les champs spécifiés, utilisez DB : Patch User Session) ;

Update User Session

DB : Create User Session — stocke dans la base de données et renvoie l'objet User Session donné (pour le construire à partir des champs donnés, utilisez le bloc Make User Session );

Create User Session

DB : Soft Delete User Session — met à jour l'attribut DeletedAt de l'objet User Session et le laisse dans la base de données ;

Soft Delete User Session

DB : Bulk Delete User Session — accepte comme entrée un ensemble d'ID d'objets User Session qui seront supprimés de la base de données ;
failed_ids — le tableau définit l'ensemble des identifiants qui ne seront pas supprimés ;

Bulk Delete User Session

DB : Patch User Session — met à jour les champs spécifiés de l'objet User Session dans la base de données (pour réinitialiser tous les champs, utilisez le bloc DB : Update User Session) ;

Patch User Session

DB : Search User Session — recherche un ou plusieurs objets User Session dans la base de données en fonction des champs et les renvoie ;

Search User Session

DB : GetOne User Session — trouve l'objet User Session dans la base de données par son ID et le renvoie ;

GetOne User Session

Développer la session utilisateur — renvoie tous les champs de l'objet Session utilisateur sélectionné ;

Expand User Session

Make User Session - crée un nouvel objet User Session en mémoire à partir des champs donnés et le renvoie (pour enregistrer l'objet créé dans la base de données, utilisez le bloc DB: Create User Session);

Make User Session

  • Module d'authentification

Auth : générer un jeton d'authentification — génère un jeton d'autorisation (jeton d'authentification) d'une longueur donnée ;

Generate Auth Token

Auth : Inscription — enregistre un nouvel utilisateur ;

Auth: Registration

Auth : Autorisation — vérifie si le jeton d'authentification existe dans le système et renvoie l'utilisateur qui lui est associé ;

Auth: Authorization

Auth : Authentification — vérifie le nom d'utilisateur et le mot de passe de l'utilisateur et renvoie un jeton d'authentification ;

Auth: Authentification

Auth : Logout : accepte un jeton d'authentification et met fin à la session utilisateur en cours ;

Auth: Logout

Auth : Obtenir l'utilisateur actuel — renvoie les données de l'utilisateur actuel ;

Auth: Get current user

Auth : Supprimer l'utilisateur du groupe — supprime un utilisateur du groupe spécifié par son ID (défini dans les paramètres du module Auth) ;

Auth: Remove user from group

Auth : Ajouter un utilisateur au groupe — ajoute un utilisateur au groupe d'utilisateurs spécifié par son ID (défini dans les paramètres du module Auth) ;

Auth: Add user to the group

Auth : Hash Password — conversion d'une chaîne de mot de passe en hachage ;

Auth: Hash Password

Auth : Restaurer le mot de passe — accepte le nom d'utilisateur et le nouveau mot de passe de l'utilisateur, le réinitialisant ainsi ;

Auth: Restore Password

Auth : Changer le mot de passe : remplace le mot de passe de l'utilisateur actuel par un nouveau ;

Auth: Change Password

Auth : Probe Password — vérification du mot de passe et de la correspondance de hachage ;

Auth: Probe Password

Les Endpoints du Auth Module et les modèles User et User Session sont générés automatiquement lors de la création du projet.

Module d'authentification

Type de demande Point final PA connecté
post type /Se déconnecter/ Authentification : Déconnexion
post type /authentique/ Auth : Authentification
post type /S'inscrire/ Authentification : enregistrement
get type /confirmer/ Authentification : enregistrement
put type /utilisateur/changer-mot-de-passe Authentification : modifier le mot de passe
post type /user/restore-password/ Authentification : Restaurer le mot de passe
get type /profil de l'utilisateur/ Authentification : Autorisation

Utilisateur

Type de demande Point final PA connecté
put type /identifiant d'utilisateur/ BD : mettre à jour l'utilisateur
delete type /identifiant d'utilisateur/ BD : Supprimer l'utilisateur
get type /identifiant d'utilisateur/ Base de données : utilisateur GetOne
get type /utilisateur/ BD : Rechercher un utilisateur
patch type /identifiant d'utilisateur BD : patcher l'utilisateur
post type /utilisateur/ BD : créer un utilisateur

Session utilisateur

Type de demande Point final PA connecté
delete type /session-utilisateur/:id/ BD : Supprimer la session utilisateur
get type /session-utilisateur/:id/ BD : session utilisateur GetOne
get type AppMaster /session-utilisateur/ BD : Rechercher une session utilisateur
patch type AppMaster /session-utilisateur/:id/ BD : session utilisateur de correctifs
post type AppMaster /session-utilisateur/ BD : créer une session utilisateur
put type AppMaster /session-utilisateur/:id/ BD : mettre à jour la session utilisateur

Le jeton d'authentification est utilisé comme jeton de session en cours de l'utilisateur autorisé. Dans l'application web BP, il est possible d'interagir avec ce token :

  1. Get Auth Token renvoie l'Auth de la session utilisateur authentifiée en cours ;
    Get Auth Token returns the Auth of the current authenticated user session
  2. Set Auth Token écrase le Auth Token de la session en cours de l'utilisateur autorisé ;
    Set Auth Token
  3. Supprimer le jeton d'authentification supprime le jeton d'authentification de la session en cours de l'utilisateur autorisé ;
    Remove Auth Token

L'exemple montre comment obtenir l'utilisateur actuel.

Pour cela, rendez-vous dans l'onglet Logique métier et faites glisser le bloc Auth : Obtenir l'utilisateur actuel.

Ensuite, un Endpoint est créé pour le BP créé, qui sera utilisé pour contacter le serveur pour obtenir l'objet de l'utilisateur actuel.

Sélectionnez le groupe d'utilisateurs dans la section Endpoints et créez une méthode de demande GET pour le processus nouvellement créé afin d'obtenir l'utilisateur actuel.

Dans l'application Web BP, faites une demande au point de terminaison créé (Server request GET /user_current) pour obtenir l'utilisateur actuel.

Groupes et autorisations

Les groupes d'utilisateurs sont créés dans les paramètres du module Auth. Pour accéder aux paramètres du module, vous devez ouvrir la section Modules et cliquer sur la fiche du module correspondant.

L'onglet Groupes contient une liste de tous les groupes existants. Cliquez sur Ajouter un nouvel élément pour créer un nouveau groupe d'utilisateurs. Dans la nouvelle fenêtre modale, vous pouvez personnaliser le groupe, ajouter une description, une icône, une couleur d'icône et d'étiquette et une étiquette.

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

Pour modifier les groupes d'utilisateurs existants, vous devez également accéder aux paramètres du module Auth. Pour cela, rendez-vous dans la rubrique Modules et cliquez sur la fiche du module correspondant. Ensuite, dans l'onglet Groupes, une liste de groupes sera disponible, pour la modifier, vous devez cliquer sur l'icône des paramètres. Dans la nouvelle fenêtre modale, vous pouvez personnaliser le groupe, modifier sa description, son icône, sa couleur d'icône et d'étiquette et sa balise.

Editing existing user groups

Pour modifier les droits de lecture/écriture des entrées dans la base de données pour certains groupes d'utilisateurs, le Middleware du module Auth est utilisé.

Dans la section Points de terminaison, sélectionnez le point de terminaison dont vous souhaitez modifier les autorisations de lecture/écriture. Cliquez sur le bouton des paramètres dans le Endpoint souhaité et accédez à l'onglet Middleware dans la fenêtre modale qui s'ouvre. Ensuite, en cliquant sur Modifier les paramètres dans la ligne avec Token Auth Middleware, configurez les droits d'accès.

Access to pages in the web application

Accès aux pages de l'application Web : Vous devez vous rendre dans l'application Web et cliquer sur le bouton Paramètres de la page à laquelle vous souhaitez restreindre l'accès.

Dans le champ Afficher pour les groupes, vous devez sélectionner une liste de groupes d'utilisateurs qui seront autorisés à afficher cette page. Par défaut, le champ est vide et l'accès est autorisé à toutes les catégories d'utilisateurs.

Access to pages in the web application 2

Conclusion

L'accès aux données par rôles est un moyen pratique d'organiser les flux d'informations pour des groupes spécifiques d'utilisateurs. Avec la plate-forme sans code AppMaster.io , vous pouvez tester cette fonctionnalité lors d'un essai.

Si vous êtes impressionné par la fonctionnalité, obtenez notre plan professionnel, qui inclut cette fonctionnalité, ainsi que l'exportation de fichiers binaires, des sauvegardes régulières, des transferts de projet et bien plus encore. Nous vous attendons sur la plateforme AppMaster.io pour mettre en œuvre vos projets les plus audacieux.