В чем разница между PrincipalContext.ValidateCredentials и HttpContext.AuthenticateAsyn c в Identity Server - PullRequest
1 голос
/ 31 января 2020

Я реализовал единый вход с учетной записью Windows в Identity Server, вызвав HttpContext.AuthenticateAsync в ExternalController, как и код по умолчанию, который уже присутствовал в коде Identity Server MVC ( см. Этот код ). Все это прекрасно работает.

В каком-то другом коде я нашел другой подход, и мне было интересно, почему они так сделали. В основном они проверяют учетные данные в AccountController, например:

using (var principalContext = new PrincipalContext(ContextType.Domain, domainName))
{
    return principalContext.ValidateCredentials(userName, password);
}

... и, если проверка завершается успешно, они делают:

await httpContext.SignInAsync(username, username, new AuthenticationProperties());

Итак, мой вопрос: что такое разница между двумя подходами и какой из них является рекомендуемым подходом для аутентификации пользователя по Windows?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...