Autenticação NTLM
O NTLM é o mais complexo dos protocolos de autenticação compatíveis com um servidor Web básico.
O NTLM é o mais complexo dos protocolos de autenticação compatíveis com um servidor Web básico, como HttpClient. É um protocolo proprietário projetado por Microsoft sem especificação disponível publicamente. As primeiras versões do NTLM eram menos seguras do que a autenticação Digest devido a falhas no design. No entanto, eles foram corrigidos em um pacote de serviço para Windows NT 4 e o protocolo agora é considerado mais seguro do que a autenticação Digest.
A autenticação NTLM requer que uma instância de NTCredentials esteja disponível para o nome de domínio do servidor ou as credenciais padrão. Como o NTLM não usa a noção de realms, o HttpClient usa o nome do domínio do servidor como o nome do realm. Além disso, o nome de usuário fornecido para NTCredentials não deve ser prefixado com o domínio:
- Correto: adriano
- Incorreto: DOMÍNIO\adrian
Existem algumas diferenças significativas na forma como o NTLM funciona em comparação com a autenticação básica e Digest. Essas diferenças geralmente são tratadas por HttpClient. No entanto, entender essas diferenças pode ajudar a evitar problemas ao usar a autenticação NTLM.
- A autenticação NTLM funciona quase exatamente da mesma forma que qualquer outra forma de autenticação em termos da API HttpClient. A única diferença é que você precisa fornecer NTCredentials em vez de UsernamePasswordCredentials (NTCredentials na verdade estende UsernamePasswordCredentials para que você possa usar NTCredentials em toda a aplicação, se necessário).
- O domínio da autenticação NTLM é o nome do domínio do computador que está sendo conectado. Isso pode ser problemático porque os servidores geralmente têm vários nomes de domínio. Somente o nome de domínio ao qual o HttpClient se conecta, conforme especificado pelo HostConfiguration, é usado para pesquisar as credenciais. Ao testar inicialmente a autenticação NTLM, é melhor passar o domínio como nulo, que é usado como padrão.
- O NTLM autentica uma conexão e não uma solicitação. Portanto, você precisa autenticar sempre que uma nova conexão é feita e manter a conexão aberta durante a autenticação é vital. Por esse motivo, o NTLM não pode ser usado para autenticar com um servidor proxy e o servidor Web, nem com conexões HTTP 1.0 ou servidores Web que não oferecem suporte a manutenção de atividade HTTP.
Nota:
Defina essas propriedades na tabela Propriedades do sistema
[sys_properties].| Propriedade | Descrição | Exemplos |
|---|---|---|
| glide.http.proxy_ntusername | Especifique o nome de usuário usado para autenticar o servidor proxy com autenticação NTLM.
|
nome do usuário |
| glide.http.proxy_ntpassword | Especifique a senha usada para autenticar o servidor proxy com autenticação NTLM.
|
senha |
| glide.http.proxy_nthost | Especifique o nome do host usado para autenticar o servidor proxy com autenticação NTLM.
|
nthost |
| glide.http.proxy_ntdomain | Especifique o domínio usado para autenticar o servidor proxy com autenticação NTLM.
|
DOMÍNIO |