Jetty SPNEGO konfiguratsiyasida uchta nom bor: autentifikatsiyani moslashtirish uchun ishlatiladigan URI, JAAS orqali kiradigan foydalanuvchi va chipta so‘raladigan xizmat. Ularning maqsadi har xil.

Jetty 12.0.x implementatsiyasi uchun autentifikatsiya obyektining bir qismi quyidagicha:

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

Bu qism xizmat komponentini ko‘rsatadi, to‘liq proxy autentifikatsiya retsepti emas. JAAS kirishi, proxy marshrutlash va so‘rovning autentifikatsiya almashinuvi alohida qoladi.

Bu implementatsiyada Jetty GSS host nomini getServiceName(), @ belgisi va autentifikatsiya almashinuvi hostini birlashtirib quradi. [email protected] ni xizmat komponenti sifatida bersangiz, yana bir host qo‘shiladi. Bu setter to‘liq Kerberos principal qabul qiladi deb o‘ylash o‘rniga uning shartnomasini o‘qing.

Hosil bo‘lgan GSS nomi HTTP@hostname konseptual shaklga ega. KDC dagi mos xizmat principal odatda HTTP/hostname sifatida ifodalanadi. tanlangan proxy nomi haqiqatda ro‘yxatga olingan xizmatga mos kelishi kerak o‘sha hisob uchun; IP manzil yoki taxallus boshqa chipta nishonini tanlashi mumkin.

407 yo‘lini ham tekshiring

Jetty 12.0.x da authenticate() GSS host nomini request.getHost() dan oladi va standart Authorization sarlavhasi bilan natija quradi. Autentifikatsiya obyektini proxy URI bo‘yicha moslashtirish o‘z-o‘zidan bu tanlovlarni proxy host nomi va Proxy-Authorization ga o‘zgartirmaydi.

Shuning uchun proxy integratsiyasi o‘sha almashinuv uchun to‘g‘ri so‘rov hosti va proxy doirasidagi natijani talab qiladi. HTTPS CONNECT so‘rovi va oddiy manba so‘rovi turli host qiymatlariga ega bo‘lishi mumkin. Xizmat nomi setteri to‘liq 407 oqimini ta’minlaydi deb o‘ylash o‘rniga o‘rnatilgan implementatsiya xatti-harakatini tasdiqlang.

407 uchun o‘sha so‘rov ishlatgan proxy autentifikatsiya almashinuvi va hostni tekshiring. 401 manba autentifikatsiyasiga tegishli. Faqat yaroqli foydalanuvchi chiptasi Jetty to‘g‘ri xizmat chiptasini so‘raganini yoki vositachi uni qabul qilganini isbotlamaydi.

O'xshash maqolalar