Hallo,
ich veruche die eingebenen Benutzerdaten, zur Anmeldung am System (Vista/Win7), zu überprüfen in dem ich ein LogonUser durchführe.
Ist bei einem User ein Passwort hinterlegt, funktioniert das Ganze. Ohne Passwort bekomme ich leider ein False zurück auch GetLastError liefert keine aufschlussreiche Fehlermeldung.
Ideen???
Delphi-Quellcode:
// FUser, FDomain, FPass sind Klassenvariablen
function TProcessOptions.CanLogon: Boolean;
var sil: TSecurityImpersonationLevel;
ltoken : Cardinal;
begin
ZeroMemory(@sil,sizeof(sil));
sil := SecurityIdentification;
Result:=LogonUser(PAnsiChar(String(FUser)),
PAnsiChar(String(FDomain)),
PAnsiChar(String(FPass)),
LOGON32_LOGON_INTERACTIVE,LOGON32_PROVIDER_DEFAULT,ltoken);
end;