Domanda

Le due aggiunte autenticate al WWW di cui Microsoft fa attualmente uso sono

  • NTLM
  • Negoziare

Se Negozia viene inviato dal server, in base a una serie di condizioni verrà utilizzato Kerberos

  • Zona Intranet
  • Accesso al server utilizzando un nome host anziché IP
  • L'autenticazione integrata di Windows in IE è abilitata, l'host è attendibile in Firefox
  • Il server non è locale per il browser
  • Il sistema Kerberos del client è autenticato su un controller di dominio

Quindi Kerberos verrà tentato tra il server e il client, se qualcosa sopra non viene soddisfatto, verrà tentato NTLM.

La mia domanda è: c'è un modo per il server di indicare che NTLM non dovrebbe essere inviato? Attualmente lo gestisco tenendo traccia della richiesta nella sessione e, se viene ricevuto un messaggio NTLM, disabilita Kerberos e WWW-Authenticate per il resto della vita di quella sessione.

È stato utile?

Soluzione

L'intestazione iniziale WWW-Authenticate specifica solo negotiate. Non può dire altro, come & Quot; no NTLM & Quot; .

Penso che sia possibile rispondere alla prima autenticazione: {Base64 NTLMSSP} intestazione inviata dal client con 401 unauthorized e una seconda Negotiate intestazione, che può includere un token di risposta, possibilmente includendo un SupportedMechanisms che specifica Solo Kerberos.

Ma sospetto che ti porterà solo "unauthorized", perché in primo luogo stava ricadendo su NTLM.

Altri suggerimenti

Sì, puoi. Dai un'occhiata ai documenti di riferimento del progetto SPNEGO HTTP Servlet Filter.

Puoi farlo, (almeno in teoria) sì. IE potrebbe fare cose totalmente strane come l'invio di token Kerberos senza l'incapsulamento appropriato di SPNEGO ASN.1, ma questo è un argomento diverso. In un SPNEGO conforme ( http://tools.ietf.org/html/rfc4178#section -4.1 ) Implementazione che potresti fare.

Se riesci a manipolare il membro mechTypes NegTokenInit per contenere solo Kerberos, il client forza l'invio di Kerberos o non riesce ad autenticarsi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top