Daar is drie name in 'n Jetty SPNEGO-opstelling: die URI wat gebruik word om verifikasie te pas, die gebruiker wat deur JAAS aanmeld en die diens waarvoor 'n kaartjie aangevra word. Hulle dien verskillende doeleindes.

Vir die Jetty 12.0.x-implementering is 'n fragment van 'n verifikasie-objek:

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

Hierdie fragment illustreer die dienskomponent, nie 'n volledige resep vir proxy-verifikasie nie. JAAS-aanmelding, proxy-roetering en die versoek se verifikasie-uitruiling bly apart.

In hierdie implementering bou Jetty die GSS-gasheergebaseerde naam deur getServiceName(), 'n @-karakter en die gasheer vir die verifikasie-uitruiling te kombineer. Om [email protected] as die dienskomponent te gee, sou nog 'n gasheer byvoeg. Lees hierdie setter se kontrak eerder as om aan te neem dat dit 'n volledige Kerberos-principal aanvaar.

Die resulterende GSS-naam het die konseptuele vorm HTTP@hostname. Die KDC se ooreenstemmende diens-principal word gewoonlik as HTTP/hostname voorgestel. Die gekose proxy-naam moet ooreenstem met die diens wat werklik geregistreer is vir daardie rekening; 'n IP-adres of alias kan 'n ander kaartjie-teiken kies.

Ondersoek ook die 407-pad

In Jetty 12.0.x kry authenticate() die GSS-gasheernaam van request.getHost() en bou 'n resultaat met die verstek-Authorization-kop. Om 'n verifikasie-objek volgens proxy-URI te pas, verander nie op sigself daardie keuses na die proxy se gasheernaam en Proxy-Authorization nie.

'n Proxy-integrasie het dus die korrekte versoek-gasheer en 'n proxy-gerigte resultaat vir daardie uitruiling nodig. 'n HTTPS CONNECT-versoek en 'n gewone oorsprong-versoek kan verskillende gasheerwaardes hê. Bevestig die gedrag van die geinstalleerde implementering eerder as om aan te neem dat die diensnaam-setter die volledige 407-vloei verskaf.

Vir 'n 407, ondersoek die proxy-verifikasie-uitruiling en die gasheer wat daardie versoek gebruik. 'n 401 hoort by oorsprong-verifikasie. 'n Geldige gebruiker-kaartjie alleen bewys nie dat Jetty die korrekte diens-kaartjie aangevra het of dat die tussenganger dit aanvaar het nie.

Verwante artikels