Я использую PrinciaplContext.ValidateCredentials для проверки набора учетных данных на локальном компьютере:
string account = Context.ReadLine();
string pass = Context.ReadLine();
using (var context = new PrincipalContext(ContextType.Machine))
{
bool valid = context.ValidateCredentials(account, pass);
Console.WriteLine("valid: " + (valid ? "true" : "false"));
}
Консольное приложение выполняется как администратор, и я пытаюсь подтвердить учетную запись / пароль администратора.Машина работает под управлением Windows XP и не является частью домена.
Запуск одного и того же кода на другом компьютере под управлением Windows XP, который является частью домена, всегда возвращает значение true, независимо от того, является ли пароль правильным или неправильным.Если я использую ContextType.Domain, указав домен, учетная запись корректно проверяется.
Действительно ли ValidateCredentials не работает в контексте компьютера с XP?Что-то еще не так, я здесь не учту?