Bonjour,
Je dois réaliser lors dans le cadre d'un projet une authentification par active directory. Je dois donc récupérer le nom d'utilisateur ainsi que le mot de passe de l'utilisateur concerné.
Il faut savoir qu'il existe plusieurs manières de s'authentifier: soit le nom est déjà dans notre base de donnée et dans ce que cas là, on saisit son id et mot de passe, soit par l’intermédiaire de l'AD, qui est simplement une checkbox que l'on coche si l'on souhaite activer cette option.
Voici, une partie de mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 function TSCHUtilisateur_Basic.IsIdentifiedAD(pPasswd, pDomain: String): Boolean; var lDom: IADsUser; begin Result := False; if (pDomain <> EmptyStr) and (vLoginAD <> EmptyStr) then begin try Result := Succeeded(ADsOpenObject(KWinNT + KSS + pDomain + '/' + vLoginAD, vLoginAD, pPasswd, ADS_SECURE_AUTHENTICATION, IADsUser, lDom)); except end; end; end;Il se passe que mon résultat est toujours en faux. Auriez vous une explication ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if (vUtilisateur.Login <> EmptyStr) and // Utilisateur trouvé (pCB or // Code-Barre ((not pCB) and vUtilisateur.IsIdentified(lbledPassword.Text)) or // Login //lbledPassword est le champ qui contient le mot de passe saisis lors du lancement ((not pCB) and TContexteTraceability.Contexte.ADUsed and vUtilisateur.IsIdentifiedAD(lbledPassword.Text, TContexteTraceability.Contexte.ADDomain))
J'utilise pour information Delphi XE2
Merci d'avance
Partager