Autenticação NTLM

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 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 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].
    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 do host usado para autenticar o servidor proxy com autenticação NTLM.
    • Tipo: cadeia de caracteres
    • Valor-padrão: nenhum
    nthost
    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