Autenticação Integrada do Windows

por Mike Wasson

A autenticação do Windows integrada permite que os usuários façam logon com suas credenciais do Windows usando Kerberos ou NTLM. O cliente envia credenciais no cabeçalho autorização. A autenticação do Windows é mais adequada para um ambiente de intranet. Para obter mais informações, confira Autenticação do Windows.

Vantagens Desvantagens
Integrado ao IIS. Não recomendado para aplicativos da Internet.
Não envia as credenciais do usuário na solicitação. Requer suporte a Kerberos ou NTLM no cliente.
Se o computador cliente pertencer ao domínio (por exemplo, aplicativo de intranet), o usuário não precisará inserir credenciais. O cliente deve estar no domínio do Active Directory.

Observação

Se o aplicativo estiver hospedado no Azure e você tiver um domínio local do Active Directory, considere federar seu AD local com o Azure Active Directory. Dessa forma, os usuários podem fazer logon com suas credenciais locais, mas a autenticação é executada por Azure AD. Para obter mais informações, consulte Autenticação do Azure.

Para criar um aplicativo que usa o autenticação do Windows Integrado, selecione o modelo "Aplicativo intranet" no assistente de projeto do MVC 4. Este modelo de projeto coloca a seguinte configuração no arquivo Web.config:

<system.web>
    <authentication mode="Windows" />
</system.web>

No lado do cliente, o Integrated autenticação do Windows funciona com qualquer navegador que dê suporte ao esquema de autenticação Negotiate, que inclui a maioria dos principais navegadores. Para aplicativos cliente .NET, a classe HttpClient dá suporte a autenticação do Windows:

HttpClientHandler handler = new HttpClientHandler()
{
    UseDefaultCredentials = true
};

HttpClient client = new HttpClient(handler);

autenticação do Windows é vulnerável a ataques CSRF (solicitação intersite forjada). Consulte Prevenção de ataques CSRF (solicitação entre sites forjadas).