Jetty SPNEGO konfigurācijā ir trīs nosaukumi: URI, ko izmanto autentifikācijas saskaņošanai, lietotājs, kas piesakās ar JAAS starpniecību, un pakalpojums, kuram tiek pieprasīta biļete. Tiem ir atšķirīgi mērķi.

Jetty 12.0.x ieviešanai autentifikācijas objekta fragments ir šāds:

var auth = new org.eclipse.jetty.client.SPNEGOAuthentication(
    java.net.URI.create("http://proxy.example:8080"));
auth.setServiceName("HTTP");

Šis fragments ilustrē pakalpojuma komponenti, nevis pilnu proxy autentifikācijas recepti. JAAS pieteikšanās, proxy maršrutēšana un pieprasījuma autentifikācijas apmaiņa joprojām ir atsevišķas.

Šajā ieviešanā Jetty veido GSS uz resursdatoru balstītu nosaukumu, apvienojot getServiceName(), @ rakstzīmi un autentifikācijas apmaiņas resursdatoru. Ja kā pakalpojuma komponenti norāda [email protected], tiktu pievienots vēl viens resursdators. Lasiet šī setter līgumu, nevis pieņemiet, ka tas pieņem pilnu Kerberos principal.

Iegūtajam GSS nosaukumam ir konceptuāla forma HTTP@hostname. Atbilstošais KDC pakalpojuma principal parasti tiek attēlots kā HTTP/hostname. izvēlētajam proxy nosaukumam jāatbilst faktiski reģistrētajam pakalpojumam šim kontam; IP adrese vai aizstājvārds var izvēlēties citu biļetes mērķi.

Pārbaudiet arī 407 ceļu

Jetty 12.0.x authenticate() iegūst GSS resursdatora nosaukumu no request.getHost() un veido rezultātu ar noklusējuma Authorization virsrakstu. Autentifikācijas objekta saskaņošana pēc proxy URI pati par sevi nemaina šos lēmumus uz proxy resursdatora nosaukumu un Proxy-Authorization.

Tāpēc proxy integrācijai šai apmaiņai ir vajadzīgs pareizais pieprasījuma resursdators un proxy ietvaros noteikts rezultāts. HTTPS CONNECT pieprasījumam un parastam izcelsmes pieprasījumam var būt atšķirīgas resursdatora vērtības. Apstipriniet instalētās ieviešanas uzvedību, nevis pieņemiet, ka pakalpojuma nosaukuma setter nodrošina visu 407 plūsmu.

Attiecībā uz 407 pārbaudiet proxy autentifikācijas apmaiņu un resursdatoru, ko izmantoja šis pieprasījums. 401 pieder izcelsmes autentifikācijai. Tikai derīga lietotāja biļete nepierāda, ka Jetty pieprasīja pareizo pakalpojuma biļeti vai ka starpnieks to pieņēma.

Saistītie raksti