Frage

Die beiden WWW-Authenticate Ergänzungen Microsoft Verwendung, dass ich zur Zeit bewusst sind

macht
  • NTLM
  • Verhandeln

Wenn vom Server aushandeln, basierend herabgesandt hat auf einer Reihe von Bedingungen wird Kerberos verwendet wird

  • Intranet Zone
  • Zugriff auf den Server einen Hostnamen verwenden anstatt IP
  • Integrierte Windows-Authentifizierung im Internet Explorer aktiviert ist, wird der Host in Firefox vertraut
  • Der Server ist nicht lokal auf dem Browser
  • Der Kerberos-System des Kunden wird zu einem Domänencontroller authentifiziert

Dann wird Kerberos zwischen dem Server und dem Client versucht werden, wenn etwas oben nicht erfüllt ist, dann wird NTLM versucht werden.

Meine Frage ist, gibt es eine Möglichkeit für den Server, um anzuzeigen, dass NTLM sollte nicht gesendet werden? Ich derzeit damit umgehen, indem Spur des Antrags in der Sitzung zu halten, und wenn eine NTLM-Nachricht empfangen wird, deaktiviert er Kerberos und WWW-Authenticate für den Rest der Sitzungen Lebens.

War es hilfreich?

Lösung

Der anfängliche WWW-Authenticate Header gibt nur negotiate. Es kann nichts mehr sagen, wie "no NTLM" .

Ich denke, es ist möglich, auf die erste Authentifizieren zu reagieren. {Base64 NTLMSSP} Header vom Client mit 401 unauthorized und einem zweiten Negotiate Header gesendet, die eine Antwort-Token enthalten kann, möglicherweise ein SupportedMechanisms einschließlich die Kerberos gibt nur

Aber ich vermute, dass nur erhalten Sie "unauthorized", weil es in erster Linie zurück zu NTLM fallen.

Andere Tipps

Ja, Sie können. Werfen Sie einen Blick auf die Referenz docs des SPNEGO HTTP Servlet Filter Projekt.

Sie können das tun, (zumindest theoretisch) ja. IE könnte total weird stuff tun wie Kerberos-Token zu senden, ohne die entsprechenden SPNEGO ASN.1 Kapselung, aber gut, das ist ein anderes Thema. In einer konformen SPNEGO ( http://tools.ietf.org/html/rfc4178#section -4,1 ) Implementierung könnten Sie das tun.

Wenn Sie das NegTokenInit mechTypes Mitglied manipulieren kann nur Kerberos enthält es den Client zwingt Kerberos zu senden oder authentifizieren, fehlschlagen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top