Udostępnij za pośrednictwem


Integrated Windows Authentication

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 Autoryzacji. Uwierzytelnianie systemu Windows jest najodpowiedniejsze do użytku w środowisku sieci intranet. Aby uzyskać więcej informacji, zobacz Uwierzytelnianie systemu Windows.

Zalety Niekorzyści
Wbudowane w 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 typu fałszowanie zapytań między witrynami (CSRF). Zobacz Zapobieganie atakom CSRF (fałszerstwo żądań między witrynami).