Встроенная проверка подлинности 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 работает с любым браузером, поддерживающим схему проверки подлинности Negotiate, которая включает большинство основных браузеров. Для клиентских приложений .NET класс HttpClient поддерживает проверка подлинности Windows:
HttpClientHandler handler = new HttpClientHandler()
{
UseDefaultCredentials = true
};
HttpClient client = new HttpClient(handler);
проверка подлинности Windows уязвима для атак с подделкой межсайтовых запросов (CSRF). См. статью Предотвращение атак с подделкой межсайтовых запросов (CSRF).