In mijn FTP server (in C++) wil ik de mogelijkheid inbouwen om in te loggen met een (local of domain) Windows account.
Ik zoek een manier om, gegeven een username en password, te bepalen of dat account bestaat, en zo mogelijk de homedir op te vragen (maar dat laatste kan ook met een aparte call op de username alleen).
Er is een API genaamd NetUserGetInfo() die een struct met user info returned, maar het password veld daarin staat (ook wel begrijpelijk) wegens veiligheidsredenen altijd op NULL.
Als vieze workaround gebruik ik nu NetUserChangePassword(), waarmee ik het wachtwoord probeer te veranderen in (je voelt hem al aankomen) hetzelfde
Dat werkt wel, maar heeft als (groot) nadeel dat het afhankelijk is van overige wachtwoordinstellingen (zoals het aantal keer dat een wachtwoord veranderd mag worden, of dat het wachtwoord van die user uberhaupt wel veranderd mag worden e.d.)
Er moet vast wel een andere/betere manier bestaan om een gegeven username/password te laten valideren door Windows...
(Het liefst eentje die ook in Win9x werkt, wat de Net* functies dus niet doen...)
Ik zoek een manier om, gegeven een username en password, te bepalen of dat account bestaat, en zo mogelijk de homedir op te vragen (maar dat laatste kan ook met een aparte call op de username alleen).
Er is een API genaamd NetUserGetInfo() die een struct met user info returned, maar het password veld daarin staat (ook wel begrijpelijk) wegens veiligheidsredenen altijd op NULL.
Als vieze workaround gebruik ik nu NetUserChangePassword(), waarmee ik het wachtwoord probeer te veranderen in (je voelt hem al aankomen) hetzelfde
Er moet vast wel een andere/betere manier bestaan om een gegeven username/password te laten valideren door Windows...
(Het liefst eentje die ook in Win9x werkt, wat de Net* functies dus niet doen...)
4200Wp ZO + 840Wp ZW + 1680Wp NW | 14xIQ7+ + 1xDS3-L | MTVenusE | HWP1