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