Einzelnen Beitrag anzeigen

Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: user verifizierung mit ADSOpenObject

  Alt 9. Dez 2014, 10:28
Guten Morgen,

mit der Verifizierung bin ich nch nicht viel weiter gekommen.
Ich bin jetzt auf die Nutzung der SSPI API umgestiegen.
Im Netz habe ich eine SSPIValidatePassword.pas gefunden.
Diese habe ich auf Unicode umgestellt und hießt nun bei mir SSPIValidateUser.
Ein kleines Bespeilprogramm ist im Anhang zu finden.

SSPILogonUser rufe ich so auf.

Delphi-Quellcode:
procedure TForm1.verifyButtonClick(Sender: TObject);
begin
  if SSPLogonUser(domainEdit.Text,usernameEdit.Text,passwordEdit.Text) then
    messageDlg('User verified',mtInformation,[mbOk],0)
  else
    messageDlg('User not verified',mtError,[mbOk],0);
end;

Wenn usernameEdit.Text und passwordEdit.Text leer sind wird die Meldung "User verifiziert" ausgegeben.
Wird domainEdit die Domäne eingetragen und werden in usernameEdit und passwordEdit die Daten eines gültigen
Users eingetragen wird "User not verified" ausgegeben.
Auch wenn die Userdaten ungültig sind wird "verständlicherweise" "User not verified" ausgegeben.

Die Routine GenServerContext beendet sich dann immer mit SEC_E_LOGON_DENIED.

Ich habe nicht die leiseste Ahnung was ich noch ändern könnte um das Problem zu beheben?

[Edit] Kann vielleicht jemand die Unit mal bei sich testen?

[Edit2] Wenn ich gegen meine lokalen Account teste, wird der User verifiziert.
Es ist dabei auch gleichgültig was ich als Domäne eingetragen habe..

Kann ich von einem "nicht Domänenrechner" keine Domänenuser verifizieren?

Grüße
Klaus
Angehängte Dateien
Dateityp: pas SSPIValidateUser.pas (27,9 KB, 17x aufgerufen)
Dateityp: zip verifyUser.zip (401,0 KB, 17x aufgerufen)
Klaus

Geändert von Klaus01 ( 9. Dez 2014 um 15:51 Uhr)
  Mit Zitat antworten Zitat