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 publicamente disponível. As versões anteriores do NTLM eram menos seguras do que a autenticação Digest devido a falhas no design. No entanto, eles foram corrigidos em um service pack 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 de domínio do servidor como o nome do realm. Além disso, o nome de usuário fornecido às NTCredentials não deve ser prefixado com o domínio:
- Correto: adrian
- DOMÍNIO/adrian
Há algumas diferenças significativas na forma como o NTLM funciona em comparação com a autenticação básica e resumida. Geralmente, essas diferenças são tratadas pelo HttpClient. No entanto, ter uma compreensão dessas diferenças pode ajudá-lo 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 realmente estende UsernamePasswordCredentials para que você possa usar NTCredentials diretamente em toda a aplicação, se necessário).
- O realm para autenticação NTLM é o nome de 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 pela HostConfiguration, é usado para pesquisar as credenciais. Ao testar inicialmente a autenticação NTLM, é melhor passar o realm 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 o NTLM pode ser usado com conexões HTTP 1,0 ou servidores web que não oferecem suporte a HTTP keep-alives.
Nota:
Defina essas propriedades em Propriedades do sistema
[sys_properties] tabela.| 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 de host usado para autenticar o servidor proxy com autenticação NTLM.
|
nhost |
| glide.http.proxy_ntdomain | Especifique o domínio usado para autenticar o servidor proxy com autenticação NTLM.
|
DOMÍNIO |