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.
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.
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 ;
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é) ;
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) ;
DB : Soft Delete User — met à jour l'attribut DeletedAt sur l'objet User et le laisse dans la base de données ;
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 ;
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) ;
BD : Rechercher un utilisateur — trouve un ou plusieurs objets Utilisateur dans la base de données en fonction des champs et les renvoie ;
DB : GetOne User — trouve l'objet User dans la base de données par son ID et le renvoie ;
Développer l'utilisateur — renvoie tous les champs de l'objet utilisateur sélectionné ;
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) ;
- 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é ;
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) ;
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 );
DB : Soft Delete User Session — met à jour l'attribut DeletedAt de l'objet User Session et le laisse dans la base de données ;
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 ;
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) ;
DB : Search User Session — recherche un ou plusieurs objets User Session dans la base de données en fonction des champs et les renvoie ;
DB : GetOne User Session — trouve l'objet User Session dans la base de données par son ID et le renvoie ;
Développer la session utilisateur — renvoie tous les champs de l'objet Session utilisateur sélectionné ;
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);
- 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 ;
Auth : Inscription — enregistre un nouvel utilisateur ;
Auth : Autorisation — vérifie si le jeton d'authentification existe dans le système et renvoie l'utilisateur qui lui est associé ;
Auth : Authentification — vérifie le nom d'utilisateur et le mot de passe de l'utilisateur et renvoie un jeton d'authentification ;
Auth : Logout : accepte un jeton d'authentification et met fin à la session utilisateur en cours ;
Auth : Obtenir l'utilisateur actuel — renvoie les données de l'utilisateur actuel ;
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 : 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 : Hash Password — conversion d'une chaîne de mot de passe en hachage ;
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 : Changer le mot de passe : remplace le mot de passe de l'utilisateur actuel par un nouveau ;
Auth : Probe Password — vérification du mot de passe et de la correspondance de hachage ;
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é |
---|---|---|
/Se déconnecter/ | Authentification : Déconnexion | |
/authentique/ | Auth : Authentification | |
/S'inscrire/ | Authentification : enregistrement | |
/confirmer/ | Authentification : enregistrement | |
/utilisateur/changer-mot-de-passe | Authentification : modifier le mot de passe | |
/user/restore-password/ | Authentification : Restaurer le mot de passe | |
/profil de l'utilisateur/ | Authentification : Autorisation |
Utilisateur
Type de demande | Point final | PA connecté |
---|---|---|
/identifiant d'utilisateur/ | BD : mettre à jour l'utilisateur | |
/identifiant d'utilisateur/ | BD : Supprimer l'utilisateur | |
/identifiant d'utilisateur/ | Base de données : utilisateur GetOne | |
/utilisateur/ | BD : Rechercher un utilisateur | |
/identifiant d'utilisateur | BD : patcher l'utilisateur | |
/utilisateur/ | BD : créer un utilisateur |
Session utilisateur
Type de demande | Point final | PA connecté |
---|---|---|
/session-utilisateur/:id/ | BD : Supprimer la session utilisateur | |
/session-utilisateur/:id/ | BD : session utilisateur GetOne | |
/session-utilisateur/ | BD : Rechercher une session utilisateur | |
/session-utilisateur/:id/ | BD : session utilisateur de correctifs | |
/session-utilisateur/ | BD : créer une session utilisateur | |
/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 :
- Get Auth Token renvoie l'Auth de la session utilisateur authentifiée en cours ;
- Set Auth Token écrase le Auth Token de la session en cours de l'utilisateur autorisé ;
- Supprimer le jeton d'authentification supprime le jeton d'authentification de la session en cours de l'utilisateur autorisé ;
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://appmaster.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.
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.
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.
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.