Встроенная проверка подлинности Windows
Майк Уосон
Интегрированная проверка подлинности Windows позволяет пользователям входить с помощью учетных данных Windows с помощью Kerberos или NTLM. Клиент отправляет учетные данные в заголовке авторизации. Проверка подлинности Windows наилучшим образом подходит для среды интрасети. Дополнительные сведения: Проверка подлинности Windows.
Достоинства | Недостатки |
---|---|
Встроенное в IIS. | Не рекомендуется для интернет-приложений. |
Не отправляет учетные данные пользователя в запросе. | Требуется поддержка Kerberos или NTLM в клиенте. |
Если клиентский компьютер принадлежит домену (например, приложению интрасети), пользователю не нужно вводить учетные данные. | Клиент должен находиться в домене Active Directory. |
Примечание.
Если приложение размещено в Azure и у вас есть локальный домен Active Directory, рассмотрите возможность федерации локального AD с Azure Active Directory. Таким образом пользователи могут войти с помощью локальных учетных данных, но проверка подлинности выполняется Azure AD. Дополнительные сведения см. в статье "Проверка подлинности Azure".
Чтобы создать приложение, использующее встроенную проверка подлинности Windows, выберите шаблон "Приложение интрасети" в мастере проекта MVC 4. Этот шаблон проекта помещает следующий параметр в файл web.config:
<system.web>
<authentication mode="Windows" />
</system.web>
На стороне клиента интегрированная проверка подлинности Windows работает с любым браузером, поддерживающим схему проверки подлинности "Согласование", которая включает в себя большинство основных браузеров. Для клиентских приложений .NET класс HttpClient поддерживает проверка подлинности Windows:
HttpClientHandler handler = new HttpClientHandler()
{
UseDefaultCredentials = true
};
HttpClient client = new HttpClient(handler);
проверка подлинности Windows уязвим для атак межсайтовых запросов на подделку (CSRF). См. сведения о предотвращении атак на межсайтовые запросы (CSRF).