У меня есть приложение MVC, которое должно войти и проверить пользователя против Active Directory. Я использую PrincipalContext.ValidateCredentials
метод, но всегда получает аутентификацию false
.
Соединение с Сервером прекрасно. Проблема, кажется, происходит в ValidateCredentials
.
Вот мой код:
public static bool IsAuthenticated(string domain, string username, string pwd) {
bool IsAuthenticated = false;
try {
PrincipalContext insPrincipalContext =
new PrincipalContext(ContextType.Domain, domain, "DC=c1w,DC=com");
username = "c1w\\" + username;
IsAuthenticated = insPrincipalContext.ValidateCredentials(username, pwd);
}
catch (Exception ex)
{
// Rethrow this exception
ExceptionPolicy.HandleException(ex, "Exception Policy");
}
return IsAuthenticated;
}
Кто-либо знает, почему это произошло бы?
Я не вижу, где вы инициализируете переменную "pwd" Возможно, вам следует использовать ContextOption в этом методе чтобы точно указать требуемое поведение. Извините за слишком широкий ответ, но в вашем вопросе нет подробностей