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).