Uwierzytelnianie zintegrowane systemu Windows
Autor: Mike Wasson
Zintegrowane uwierzytelnianie systemu Windows umożliwia użytkownikom logowanie się przy użyciu poświadczeń systemu Windows przy użyciu protokołu Kerberos lub NTLM. Klient wysyła poświadczenia w nagłówku Autoryzacja. Uwierzytelnianie systemu Windows jest najodpowiedniejsze do użytku w środowisku sieci intranet. Aby uzyskać więcej informacji, zobacz Uwierzytelnianie systemu Windows.
Zalety | Wady |
---|---|
Wbudowane w usługi IIS. | Niezalecane w przypadku aplikacji internetowych. |
Nie wysyła poświadczeń użytkownika w żądaniu. | Wymaga obsługi protokołu Kerberos lub NTLM w kliencie. |
Jeśli komputer kliencki należy do domeny (na przykład aplikacji intranetowej), użytkownik nie musi wprowadzać poświadczeń. | Klient musi znajdować się w domenie usługi Active Directory. |
Uwaga
Jeśli aplikacja jest hostowana na platformie Azure i masz lokalną domenę usługi Active Directory, rozważ sfederowanie lokalnej usługi AD z usługą Azure Active Directory. Dzięki temu użytkownicy mogą logować się przy użyciu poświadczeń lokalnych, ale uwierzytelnianie jest wykonywane przez usługę Azure AD. Aby uzyskać więcej informacji, zobacz Azure Authentication (Uwierzytelnianie platformy Azure).
Aby utworzyć aplikację korzystającą ze zintegrowanego uwierzytelniania systemu Windows, wybierz szablon "Aplikacja intranetowa" w kreatorze projektu MVC 4. Ten szablon projektu umieszcza następujące ustawienie w pliku Web.config:
<system.web>
<authentication mode="Windows" />
</system.web>
Po stronie klienta zintegrowane uwierzytelnianie systemu Windows działa z dowolną przeglądarką, która obsługuje schemat uwierzytelniania Negotiate , który obejmuje większość głównych przeglądarek. W przypadku aplikacji klienckich platformy .NET klasa HttpClient obsługuje uwierzytelnianie systemu Windows:
HttpClientHandler handler = new HttpClientHandler()
{
UseDefaultCredentials = true
};
HttpClient client = new HttpClient(handler);
Uwierzytelnianie systemu Windows jest narażone na ataki fałszerskie żądania obejmujące wiele witryn (CSRF). Zobacz Zapobieganie atakom polegającym na fałszerzowaniu żądań między witrynami (CSRF).