Pergunta

As duas adições WWW-Authenticate Microsoft faz uso de que eu estou atualmente ciente são

  • NTLM
  • Negociar

Se Negociar é enviado a partir do servidor, com base em um conjunto de condições Kerberos será usado

  • Zona Intranet
  • Acesso ao servidor usando um nome de host em vez de IP
  • Autenticação integrada do Windows no IE está habilitado, o anfitrião é confiável no Firefox
  • O servidor não é local para o navegador
  • sistema Kerberos do cliente é autenticado para um controlador de domínio

Em seguida, Kerberos será tentada entre o servidor eo cliente, se algo acima não for cumprida, então NTLM será tentada.

A minha pergunta é, existe alguma maneira para o servidor para indicar que NTLM não devem ser enviados? Eu atualmente lidar com isso, mantendo o controle do pedido na sessão, e se uma mensagem NTLM é recebido, ele desabilita o Kerberos e WWW-Authenticate para o resto de que a vida sessões.

Foi útil?

Solução

O cabeçalho WWW-Authenticate inicial especifica apenas negotiate. Não posso dizer mais nada, como "não NTLM" .

Eu acho que é possível para responder à primeira Authenticate: {Base64 NTLMSSP} cabeçalho enviado pelo cliente com 401 unauthorized e um cabeçalho segunda Negotiate, que pode incluir um sinal de resposta, possivelmente incluindo um SupportedMechanisms que especifica Kerberos Só

Mas eu suspeito que só vai chegar "unauthorized", porque estava caindo de volta para NTLM em primeiro lugar.

Outras dicas

Sim, pode. Dê uma olhada na documentos de referência do projeto Filtro SPNEGO HTTP Servlet.

Você pode fazer isso, (pelo menos em teoria) sim. IE pode fazer coisas totalmente estranho como o envio de Kerberos Tokens sem o encapsulamento SPNEGO ASN.1 apropriado, mas bem, isso é um tópico diferente. Em um SPNEGO conformes ( http://tools.ietf.org/html/rfc4178#section -4.1 ) Implementação você poderia fazer isso.

Se você pode manipular o membro mechTypes NegTokenInit para conter apenas Kerberos ele força o cliente para enviar Kerberos ou deixar de autenticação.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top