Поделиться через


Встроенная проверка подлинности 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).