Compartilhar via


Autenticação Integrada do Windows

por Mike Wasson

A autenticação integrada do Windows permite que os usuários façam login com suas credenciais do Windows, usando Kerberos ou NTLM. O cliente envia credenciais no cabeçalho Authorization. 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 aplicações de 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 seu aplicativo estiver hospedado no Azure e você tiver um domínio do Active Directory local, 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 pelo Azure AD. Para obter mais informações, consulte Autenticação do Azure.

Para criar um aplicativo que usa a autenticação integrada do Windows, selecione o modelo "Aplicativo de 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, a autenticação integrada 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 à autenticação do Windows:

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

HttpClient client = new HttpClient(handler);

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