Mae tri enw mewn ffurfweddiad SPNEGO Jetty: yr URI a ddefnyddir i baru dilysu, y defnyddiwr sy'n mewngofnodi drwy JAAS a'r gwasanaeth y gofynnir tocyn ar ei gyfer. Mae gan bob un bwrpas gwahanol.

Ar gyfer gweithrediad Jetty 12.0.x, dyma ddarn o wrthrych dilysu:

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

Mae'r darn hwn yn dangos y gydran gwasanaeth, nid rysáit gyflawn ar gyfer dilysu drwy proxy. Mae mewngofnodi JAAS, llwybrau proxy a chyfnewid dilysu'r cais yn parhau ar wahân.

Yn y gweithrediad hwn mae Jetty yn adeiladu'r enw GSS seiliedig ar y gwesteiwr trwy gyfuno getServiceName(), nod @ a'r gwesteiwr ar gyfer y cyfnewid dilysu. Byddai rhoi [email protected] fel y gydran gwasanaeth yn ychwanegu gwesteiwr arall. Darllenwch gontract y setter hwn yn hytrach na thybio ei fod yn derbyn principal Kerberos cyflawn.

Mae gan yr enw GSS canlyniadol y ffurf gysyniadol HTTP@hostname. Mae principal gwasanaeth cyfatebol y KDC fel arfer yn cael ei gynrychioli fel HTTP/hostname. Rhaid i'r enw proxy a ddewiswyd gyfateb i'r gwasanaeth sydd wedi'i gofrestru mewn gwirionedd ar gyfer y cyfrif hwnnw; gall cyfeiriad IP neu alias ddewis targed tocyn arall.

Archwiliwch y llwybr 407 hefyd

Yn Jetty 12.0.x mae authenticate() yn cael enw gwesteiwr GSS o request.getHost() ac yn adeiladu canlyniad gan ddefnyddio'r pennawd Authorization diofyn. Nid yw paru gwrthrych dilysu yn ôl URI proxy ynddo'i hun yn newid y dewisiadau hynny i enw gwesteiwr y proxy a Proxy-Authorization.

Felly mae angen gwesteiwr cais cywir a chanlyniad wedi'i gwmpasu gan y proxy ar gyfer y cyfnewid hwnnw ar integreiddiad proxy. Gall cais HTTPS CONNECT a chais tarddiad cyffredin fod â gwerthoedd gwesteiwr gwahanol. Cadarnhewch ymddygiad y gweithrediad sydd wedi'i osod yn hytrach na thybio bod setter enw'r gwasanaeth yn darparu llif 407 cyflawn.

Ar gyfer 407, archwiliwch gyfnewid dilysu'r proxy a'r gwesteiwr a ddefnyddiwyd gan y cais hwnnw. Mae 401 yn perthyn i ddilysu tarddiad. Nid yw tocyn defnyddiwr dilys ar ei ben ei hun yn profi bod Jetty wedi gofyn am y tocyn gwasanaeth cywir na bod y cyfryngwr wedi'i dderbyn.

Erthyglau cysylltiedig