4D v16.3

CHANGE CURRENT USER

Accueil

 
4D v16.3
CHANGE CURRENT USER

CHANGE CURRENT USER 


 

CHANGE CURRENT USER {( utilisateur ; motDePasse )} 
Paramètre Type   Description
utilisateur  Chaîne, Entier long in Nom ou Numéro de référence unique de l’utilisateur
motDePasse  Chaîne in Mot de passe (non crypté)

CHANGE CURRENT USER permet de changer l'identité de l'utilisateur courant dans la base, sans devoir la quitter. Le changement d'identité peut être effectué par l'utilisateur lui-même via la boîte de dialogue de connexion à la base (lorsque la commande est appelée sans paramètres) ou directement par la commande. Lorsqu'il change d'identité, l'utilisateur abandonne ses anciens privilèges au profit de ceux de l'utilisateur choisi.

Le nouveau compte est utilisé pour tous les process “utilisateurs” courants de la base. A noter qu’un process créé par un autre process hérite du compte utilisateur de celui-ci.

4D Server : Sur le poste serveur, les process démarrés via les On Server Startup database method, On Server Shutdown database method, etc., sont exécutés sous le compte du Super_Utilisateur.

Si la commande CHANGE CURRENT USER est exécutée sans paramètres, la boîte de dialogue de connexion à la base s'affiche. L'utilisateur doit alors saisir ou sélectionner un nom et un mot de passe valides pour entrer dans la base. Le contenu de la boîte de dialogue de connexion dépend des options définies dans la page Sécurité des Propriétés de la base.

Note : Cette commande requiert que le système de contrôle d'accès soit activé, c'est-à-dire qu'un mot de passe soit assigné au Super_Utilisateur. Dans le cas contraire, CHANGE CURRENT USER est sans effet et n'affichera pas la fenêtre standard de changement d'utilisateur.

Vous pouvez également passer les deux paramètres facultatifs utilisateur et motDePasse afin de spécifier par programmation le nouveau compte à utiliser.
Passez dans le paramètre utilisateur le nom ou le numéro de référence unique (réfUtilisateur) du compte à utiliser. Les noms et les numéros des utilisateurs peuvent être obtenus via la commande GET USER LIST.

Numéro de référence de l’utilisateurDescription de l’utilisateur
1Super_Utilisateur
2Administrateur
3 à 15000Utilisateur créé par le Super_Utilisateur
(l'utilisateur n°3 est le 1er utilisateur créé par le Super_Utilisateur, l'utilisateur n°4 est le deuxième, et ainsi de suite).
-11 à -15010Utilisateur créé par l'Administrateur
(l'utilisateur n°-11 est le 1er utilisateur créé par l'Administrateur, l'utilisateur n°-12 est le deuxième, et ainsi de suite).

Si le compte d’utilisateur désigné n’existe pas ou a été supprimé, l’erreur -9979 est générée. Vous pouvez intercepter cette erreur avec une méthode de gestion d’erreurs installée par la commande ON ERR CALL. Sinon, vous pouvez appeler la fonction Is user deleted pour tester le compte utilisateur avant d’appeler cette commande.

Passez dans le paramètre motDePasse le mot de passe non crypté du compte de l’utilisateur. Si le mot de passe ne correspond pas à l’utilisateur, la commande ne fait rien et l’erreur -9978 est générée.

La commande est temporisée afin d’éviter des attaques par “force brute” (essais automatiques de multiples combinaisons de noms d’utilisateurs/mots de passe). Ainsi, au bout du quatrième appel à la commande, elle n’est exécutée qu’après 10 secondes d’attente. Cette temporisation est globale au poste de travail.

La commande CHANGE CURRENT USER permet de mettre en place des boîtes de dialogue personnalisées pour la saisie du nom et du mot de passe (avec règles de saisie et d'expiration) tout en bénéficiant des avantages du système intégré de contrôle des accès de 4D.
Le principe est le suivant :

1. L’entrée dans la base s’effectue directement en mode “Utilisateur par défaut”, sans boîte de dialogue.

2. Dans la On Startup database method, le développeur provoque l’affichage d’une boîte de dialogue personnalisée de saisie du nom d’utilisateur et du mot de passe (à l’aide de la commande DIALOG ou ADD RECORD par exemple). Tout type de traitement peut être envisagé dans la boîte de dialogue :
- Il est possible d’afficher la liste des utilisateurs de la base, comme dans la boîte de dialogue d’accès standard de 4D, à l’aide de la commande GET USER LIST.
- Le champ de saisie du mot de passe peut contenir divers contrôles afin de vérifier la validité des caractères saisis (nombre minimum de caractères, unicité...).
- Pour les caractères du mot de passe saisi soient brouillés à l'écran, vous pouvez utiliser la commande FILTER KEYSTROKE.
- Des règles d’expiration peuvent être appliquées au moment de la validation de la boîte de dialogue : date d’expiration, changement forcé à la première connexion, verrouillage du compte après plusieurs saisies erronées, mémorisation des mots de passe déjà utilisés...

3. Lorsque la saisie est validée, les informations requises (nom d’utilisateur et mot de passe) sont passées à la commande CHANGE CURRENT USER afin d’ouvrir la base avec les privilèges du compte utilisateur.

Exemple  

L'exemple suivant affiche la boîte de dialogue de connexion :

 CHANGE CURRENT USER



Voir aussi  

CHANGE PASSWORD

 
PROPRIÉTÉS 

Produit : 4D
Thème : Utilisateurs et groupes
Numéro : 289

 
HISTORIQUE 

Modifié : 4D 2004

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)