Í 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.

Tengdir greinar