Authentification avec une AD
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:
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; |
Code:
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)) |
Il se passe que mon résultat est toujours en faux. Auriez vous une explication ?
J'utilise pour information Delphi XE2
Merci d'avance