Jetty 12.0.x SPNEGO: stilltu þjónustunafninu, ekki fullum principal
Aðskildu proxy URI, JAAS-notanda og GSS-þjónustuþátt við uppsetningu á auðkenningu Jetty 12.
Í Jetty SPNEGO uppsetningu eru þrjú nöfn: URI-ið sem notað er til að para auðkenningu, notandinn sem skráir sig inn í gegnum JAAS og þjónustan sem beðið er um miða fyrir. Þau þjóna mismunandi tilgangi.
Fyrir Jetty 12.0.x útfærsluna er brot úr auðkenningarhlut:
var auth = new org.eclipse.jetty.client.SPNEGOAuthentication(
java.net.URI.create("http://proxy.example:8080"));
auth.setServiceName("HTTP");Þetta brot sýnir þjónustuþáttinn, ekki fulla uppskrift fyrir proxy-auðkenningu. JAAS innskráning, proxy-leiðsla og auðkenningaskipti beiðninnar halda áfram að vera aðskilin.
Í þessari útfærslu byggir Jetty GSS hýsilnafnið með því að sameina getServiceName(), @ táknið og hýsilinn fyrir auðkenningaskiptin. Ef [email protected] er gefið sem þjónustuþáttur bætist annar hýsill við. Lestu samning þessa setter í stað þess að gera ráð fyrir að hann taki við fullum Kerberos principal.
Afleidda GSS nafnið hefur huglæga formið HTTP@hostname. Samræmda þjónustu-principal KDC er venjulega táknað sem HTTP/hostname. valið proxy-nafn verður að passa við þjónustuna sem er raunverulega skráð fyrir þann reikning; IP-tala eða samheiti getur valið annað miðamark.
Athugaðu líka 407 ferilinn
Í Jetty 12.0.x fær authenticate() GSS hýsilnafnið úr request.getHost() og byggir niðurstöðu með sjálfgefna Authorization hausnum. Að para auðkenningarhlut eftir proxy URI breytir ekki af sjálfu sér þessum valkostum í hýsilnafn proxysins og Proxy-Authorization.
Þess vegna þarf proxy-samþætting rétta beiðnihýsilinn og niðurstöðu sem afmarkast við proxy fyrir þau skipti. HTTPS CONNECT beiðni og venjuleg upprunabeiðni geta haft mismunandi hýsilgildi. Staðfestu hegðun uppsettu útfærslunnar í stað þess að gera ráð fyrir að þjónustunafnssetterinn veiti alla 407 flæðið.
Fyrir 407 skaltu skoða proxy-auðkenningaskiptin og hýsilinn sem sú beiðni notaði. 401 tilheyrir upprunauðkenningu. Gildur notendamiði einn og sér sannar ekki að Jetty hafi beðið um rétta þjónustumiða eða að milliliðurinn hafi samþykkt hann.