Я работаю над простым решением для обновления пароля пользователя в Active Directory.
Я могу успешно обновить пароль пользователя. Обновление пароля работает нормально. Допустим, пользователь обновил пароль с MyPass1 до MyPass2
Теперь, когда я запускаю свой собственный код для проверки учетных данных пользователей, используя:
using(PrincipalContext pc = new PrincipalContext(ContextType.Domain, "TheDomain"))
{
// validate the credentials
bool isValid = pc.ValidateCredentials("myuser", "MyPass2");
}
//returns true - which is good
Теперь, когда я ввожу неправильный пароль, он очень хорошо проверяется:
using(PrincipalContext pc = new PrincipalContext(ContextType.Domain, "TheDomain"))
{
// validate the credentials
bool isValid = pc.ValidateCredentials("myuser", "wrongPass");
}
//returns false - which is good
Теперь по каким-то странным причинам он проверяет предыдущий последний пароль, который был запомнен MyPass1?
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
Я получил этот код от:
Проверить имя пользователя и пароль в Active Directory?
Это как-то связано с истечением срока действия последнего пароля или так ли должна работать проверка?