Jetty 12.0.x SPNEGO: set de tsjinstnamme, net de folsleine principal
Skied proxy-URI, JAAS-brûker en GSS-tsjinstkomponent by it konfigurearjen fan Jetty 12-autentikaasje.
Yn in Jetty SPNEGO-konfiguraasje binne der trije nammen: de URI om autentikaasje oan te koppeljen, de brûker dy't fia JAAS yntsjinnet en de tsjinst dêr't in ticket foar oanfrege wurdt. Se hawwe ferskate doelen.
Foar de Jetty 12.0.x-ymplemintaasje is in fragmint fan in autentikaasje-objekt:
var auth = new org.eclipse.jetty.client.SPNEGOAuthentication(
java.net.URI.create("http://proxy.example:8080"));
auth.setServiceName("HTTP");Dit fragmint yllustrearret de tsjinstkomponent, net in folslein resept foar proxy-autentikaasje. JAAS-ynloggen, proxy-routing en de autentikaasje-útwikseling fan it fersyk bliuwe apart.
Yn dizze ymplemintaasje bout Jetty de GSS-hostnamme troch getServiceName(), in @-teken en de host foar de autentikaasje-útwikseling te kombinearjen. As [email protected] as tsjinstkomponent jûn wurdt, soe der noch in host bykomme. Lês it kontrakt fan dizze setter ynstee fan oan te nimmen dat er in folsleine Kerberos-principal akseptearret.
De resultearjende GSS-namme hat de konseptuele foarm HTTP@hostname. De oerienkommende tsjinst-principal fan de KDC wurdt meastentiids as HTTP/hostname werjûn. De keazen proxy-namme moat oerienkomme mei de tsjinst dy't feitlik registrearre is foar dat akkount; in IP-adres of alias kin in oar ticketdoel kieze.
Undersykje ek it 407-paad
Yn Jetty 12.0.x hellet authenticate() de GSS-hostnamme út request.getHost() en bout in resultaat mei de standert Authorization-header. It koppeljen fan in autentikaasje-objekt op proxy-URI feroaret dy karren sels net nei de hostnamme fan de proxy en Proxy-Authorization.
In proxy-yntergraasje hat dêrom de juste fersykhost en in proxy-begrinse resultaat nedich foar dy útwikseling. In HTTPS CONNECT-fersyk en in gewoan oarsprongsfersyk kinne ferskate hostwearden hawwe. Befestigje it gedrach fan de ynstalleare ymplemintaasje ynstee fan oan te nimmen dat de tsjinstnamme-setter de folsleine 407-stream leveret.
Foar in 407 ûndersykje de proxy-autentikaasje-útwikseling en de host dy't dat fersyk brûkte. In 401 heart by oarsprong-autentikaasje. In jildich brûkersticket allinnich bewiist net dat Jetty it juste tsjinstticket oanfrege hat of dat de tuskenpersoan it akseptearre hat.