Aller au contenu principal
Version: Next

Validate password

Validate password ( utilisateur ; motDePasse {; digest} ) : Boolean

ParamètreTypeDescription
utilisateurInteger, TextN° de référence unique ou Nom de l’utilisateur
motDePasseTextMot de passe non crypté
digestBooleanMot de passe digest = Vrai,
Mot de passe en clair (défaut)= Faux
RésultatBooleanVrai = mot de passe correct, Faux = mot de passe incorrect

Cette commande n'est pas thread-safe, elle ne peut pas être utilisée dans du code préemptif.

Description

La commande Validate password retourne Vrai si la chaîne passée dans motDePasse est le mot de passe du compte utilisateur dont le n° de référence ou le nom est passé dans utilisateur.

Le paramètre optionnel digest vous permet d’indiquer si le paramètre motDePasse contient un mot de passe en clair ou un mot de passe sous forme hachée (mode digest) :

  • si vous passez Vrai, vous indiquez que le paramètre motDePasse contient un mot de passe sous forme hachée (mode digest),
  • si vous passez Faux ou omettez ce paramètre, vous indiquez que le paramètre motDePasse contient un mot de passe en clair.

Ce paramètre est particulièrement utile dans le contexte de l’utilisation des méthodes base d'authentification, notamment On REST Authentication database method.

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.

Exemple 1

L’exemple suivant vérifie que “Laurel” est le mot de passe de l’utilisateur “Hardy” :

 GET USER LIST(atNomUtil;alRefUtil)
 $vlElem:=Find in array(atNomUtil;"Hardy")
 If($vlElem>0)
    If(Validate password(alRefUtil{$vlElem};"Laurel"))
       ALERT("Oui !")
    Else
       ALERT("Dommage !")
    End if
 Else
    ALERT("Nom d'utilisateur inconnu")
 End if

Exemple 2

Dans la On REST Authentication database method, vous souhaitez tester une requête de connexion (vous utilisez les utilisateurs 4D de la base). Il vous suffit d’écrire :

 $0:=Validate password($1;$2;$3)

Voir aussi

GET USER PROPERTIES
Set user properties
WEB Validate digest