Pregunta

Los dos WWW-Authenticate adiciones de Microsoft hace uso de la que actualmente soy consciente de que son

  • NTLM
  • Negociar

Si Negociar es enviada desde el servidor, basado en un conjunto de condiciones Kerberos va a ser utilizado

  • Zona De Intranet
  • El acceso al servidor mediante un nombre de host en lugar de la IP
  • La Autenticación de Windows integrada en internet explorer está habilitada, el host de confianza en Firefox
  • El Servidor no es local para el navegador
  • El cliente del sistema Kerberos es autenticado a un controlador de dominio

Kerberos se llevará a cabo entre el servidor y el cliente, si algo de lo anterior no se cumple, entonces NTLM se intentará.

Mi pregunta es, hay alguna forma para que el servidor para indicar que NTLM no debe ser enviado?Yo actualmente se encargan de esto al mantener un registro de la solicitud en la sesión, y si un NTLM mensaje es recibido, se desactiva Kerberos y WWW-Authenticate para el resto de sesiones de la vida.

¿Fue útil?

Solución

El inicial WWW-Authenticate encabezado especifica sólo negotiate.No puede decir nada más, tales como "no NTLM".

Creo que es posible responder a la primera Autenticar:{Base64 NTLMSSP} encabezado enviado por el cliente con 401 unauthorized y un segundo Negotiate encabezado, que puede incluir un token de respuesta, incluyendo posiblemente una SupportedMechanisms que especifica Sólo Kerberos.

Pero sospecho que sólo va a llegar "unauthorized", porque era volver a caer en NTLM en el primer lugar.

Otros consejos

Sí puedes. Eche un vistazo a los documentos de referencia del proyecto SPNEGO HTTP Servlet Filter.

Puedes hacer eso, (al menos en teoría) sí. IE podría hacer cosas totalmente extrañas, como enviar tokens Kerberos sin la encapsulación SPNEGO ASN.1 adecuada, pero bueno, ese es un tema diferente. En un SPNEGO conforme ( http://tools.ietf.org/html/rfc4178#section -4.1 ) Implementación podrías hacer eso.

Si puede manipular el miembro NegTokenInit mechTypes para que solo contenga Kerberos, obliga al cliente a enviar Kerberos o no puede autenticarse.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top