Sto lavorando a una soluzione semplice per aggiornare la password di un utente in Active Directory.Perché Active Directory convalida l'ultima password?
Posso aggiornare correttamente la password dell'utente. L'aggiornamento della password funziona correttamente. Diciamo che l'utente ha aggiornato la password dal MyPass1 a MyPass2
Ora, quando eseguo il mio codice personalizzato per convalidare gli utenti delle credenziali utilizzando:
using(PrincipalContext pc = new PrincipalContext(ContextType.Domain, "TheDomain"))
{
// validate the credentials
bool isValid = pc.ValidateCredentials("myuser", "MyPass2");
}
//returns true - which is good
Ora quando entro qualche password errata convalida molto bene:
using(PrincipalContext pc = new PrincipalContext(ContextType.Domain, "TheDomain"))
{
// validate the credentials
bool isValid = pc.ValidateCredentials("myuser", "wrongPass");
}
//returns false - which is good
Ora per alcuni motivi dispari, convalida l'ultima password precedente che era MyPass1 ricordi?
using(PrincipalContext pc = new PrincipalContext(ContextType.Domain, "TheDomain"))
{
// validate the credentials
bool isValid = pc.ValidateCredentials("myuser", "MyPass1");
}
//returns true - but why? we have updated password to Mypass2
ho ottenuto questo codice:
Validate a username and password against Active Directory?
è qualcosa a che fare con ultima password scadenza o è questo il modo la convalida dovrebbe funzionare?
Quanto è grande l'infrastruttura del dominio? È possibile che si connetta a una CC differente ogni volta e che la nuova password non sia stata replicata. –
Dopo aver aggiornato la password a una nuova, non riesco ad accedere utilizzando la vecchia password che è buona. Il suo solo quando uso le ValidateCredentials() metodo, i suoi Restituisce vero per la vecchia password :( forse qualcosa a che fare con le credenziali memorizzate nella cache? – theITvideos