Autenticação NTLM

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 2 min. de leitura
  • 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.
    Tabela 1. Autenticação NTLM
    Propriedade Descrição Exemplos
    glide.http.proxy_ntusername Especifique o nome de usuário usado para autenticar o servidor proxy com autenticação NTLM.
    • Tipo: cadeia de caracteres
    • Valor-padrão: nenhum
    nome do usuário
    glide.http.proxy_ntpassword Especifique a senha usada para autenticar o servidor proxy com autenticação NTLM.
    • Tipo: cadeia de caracteres
    • Valor-padrão: nenhum
    senha
    glide.http.proxy_nthost Especifique o nome de host usado para autenticar o servidor proxy com autenticação NTLM.
    • Tipo: cadeia de caracteres
    • Valor-padrão: nenhum
    nhost
    glide.http.proxy_ntdomain Especifique o domínio usado para autenticar o servidor proxy com autenticação NTLM.
    • Tipo: cadeia de caracteres
    • Valor-padrão: nenhum
    DOMÍNIO