Aller au contenu principal
Version: v20 R4 BETA

Access Control overview

Si plusieurs personnes utilisent une application, ce qui est souvent le cas dans une architecture client-serveur ou d'interfaces Web, vous devez contrôler ses accès ou proposer différentes fonctionnalités selon les utilisateurs connectés. Il est également essentiel d'assurer la sécurité des données sensibles, même dans les applications monoposte.

La stratégie de contrôle d'accès 4D dépend de la configuration de votre déploiement :

  • dans les applications multi-utilisateurs, vous pouvez vous appuyer sur les utilisateurs et les groupes 4D,
  • dans les applications monoposte, l'accès des utilisateurs est contrôlé par la session du système, à l'aide de commandes telles que Current system user.

Consultez le document 4D Security guide pour une vue d'ensemble des fonctions de sécurité de 4D.

Contrôle des accès dans les applications multi-utilisateurs

Les applications multi-utilisateurs sont déployées avec 4D Server. Il peut s'agir d'applications client-serveur, Web ou REST.

Dans les applications multi-utilisateurs, le contrôle des accès se fait par le biais des utilisateurs et des groupes 4D. Vous pouvez créer des utilisateurs, attribuer des mots de passe et créer des groupes d'accès qui ont différents niveaux de privilèges dans l'application.

Initiez le système de contrôle des accès par mot de passe 4D avec 4D Server, en attribuant un mot de passe au Super utilisateur. Tant que vous n'attribuez pas de mot de passe au Super utilisateur, tous les accès à l'application se font avec les droits d'accès du Super utilisateur, même si vous avez configuré des utilisateurs et des groupes (à l'ouverture de l'application, aucun identifiant n'est requis). N'importe quelle partie de l'application peut être ouverte.

Lorsqu’un mot de passe est affecté au Super_Utilisateur, tous les privilèges d’accès que vous avez affectés prennent effet. Pour se connecter à l'application ou à un serveur à accès protégé, les utilisateurs distants doivent saisir un login/mot de passe.

Pour désactiver le système de restriction d’accès, il suffit de supprimer (mettre à blanc) le mot de passe du Super_Utilisateur.

Contrôle d'accès dans les applications monoposte

Les applications monoposte sont des applications de bureau, déployées avec 4D ou fusionnées avec 4D Volume License. Dans les applications monoposte, tous les utilisateurs qui ouvrent l'application sont des Super utilisateurs; ils possèdent tous les privilèges et leur nom est "Super utilisateur". Le contrôle des accès n'est pas basé sur les utilisateurs et les groupes 4D, mais sur les sessions utilisateur.

Identification de l'utilisateur

Pour identifier l'utilisateur courant dans une application 4D monoposte, vous pouvez vous appuyer sur la commande Current system user, qui retourne l'utilisateur ayant ouvert la session système. Ainsi, l'authentification des utilisateurs est déléguée au système d'exploitation.

Vous pouvez alors autoriser ou refuser les accès à votre application en utilisant un code suivant :

If(Current system user = $user) //you can store users in a database table
// give access to some features
End if

Si vous souhaitez utiliser le nom d'utilisateur du système dans 4D au lieu du "Super utilisatur" (par exemple dans les fichiers journaux), vous pouvez appeler la commande SET USER ALIAS, par exemple :

SET USER ALIAS(Current system user)

Protection des accès

Privileges

Sur une machine partagée par plusieurs utilisateurs, vous pouvez installer l'application 4D dans un dossier et octroyer les privilèges d'accès utilisateur appropriés au dossier au niveau de l'OS.

Chiffrement des données

Si vous souhaitez protéger les accès aux données de l'application, nous vous recommandons de chiffrer les données et de fournir la clé de chiffrement à l'utilisateur ou aux utilisateurs autorisés.