4D v14.3CHANGER UTILISATEUR COURANT |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
CHANGER UTILISATEUR COURANT
CHANGER UTILISATEUR COURANT
CHANGER UTILISATEUR COURANT 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 méthodes bases Sur démarrage serveur, Sur arrêt serveur, etc., sont exécutés sous le compte du Super_Utilisateur. Si la commande CHANGER UTILISATEUR COURANT 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, CHANGER UTILISATEUR COURANT 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.
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 APPELER SUR ERREUR. Sinon, vous pouvez appeler la fonction Utilisateur supprime 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 CHANGER UTILISATEUR COURANT 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. 1. L’entrée dans la base s’effectue directement en mode “Utilisateur par défaut”, sans boîte de dialogue. 2. Dans la Méthode base Sur ouverture, 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 DIALOGUE ou AJOUTER ENREGISTREMENT par exemple). Tout type de traitement peut être envisagé dans la boîte de dialogue : 3. Lorsque la saisie est validée, les informations requises (nom d’utilisateur et mot de passe) sont passées à la commande CHANGER UTILISATEUR COURANT afin d’ouvrir la base avec les privilèges du compte utilisateur. L'exemple suivant affiche la boîte de dialogue de connexion : CHANGER UTILISATEUR COURANT |
PROPRIÉTÉS
Produit : 4D
HISTORIQUE
Modifié : 4D 2004 VOIR AUSSI UTILISATION DE L'ARTICLE
4D - Langage ( 4D v11 SQL Release 6) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||