Jetty SPNEGO კონფიგურაციაში სამი სახელია: ავთენტიფიკაციის დასაკავშირებელი URI, JAAS-ით შემავალი მომხმარებელი და სერვისი, რომლისთვისაც ბილეთი ითხოვება. მათ განსხვავებული დანიშნულება აქვთ.

Jetty 12.0.x იმპლემენტაციისთვის ავთენტიფიკაციის ობიექტის ფრაგმენტი ასეთია:

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

ეს ფრაგმენტი გვიჩვენებს სერვისის კომპონენტს და არა proxy ავთენტიფიკაციის სრულ რეცეპტს. JAAS შესვლა, proxy მარშრუტიზაცია და მოთხოვნის ავთენტიფიკაციის გაცვლა ცალკე რჩება.

ამ იმპლემენტაციაში Jetty აშენებს GSS ჰოსტზე დაფუძნებულ სახელს getServiceName(), @ სიმბოლოსა და ავთენტიფიკაციის გაცვლის ჰოსტის შეერთებით. [email protected]ის სერვისის კომპონენტად მიცემა კიდევ ერთ ჰოსტს დაუმატებს. წაიკითხეთ ამ setter-ის ხელშეკრულება და ნუ ჩათვლით, რომ ის სრულ Kerberos principal-ს იღებს.

მიღებულ GSS სახელს აქვს კონცეპტუალური ფორმა HTTP@hostname. KDC-ის შესაბამისი სერვისის principal ჩვეულებრივ წარმოდგენილია როგორც HTTP/hostname. არჩეული proxy სახელი უნდა შეესაბამებოდეს რეალურად რეგისტრირებულ სერვისს ამ ანგარიშისთვის; IP მისამართმა ან ფსევდონიმმა შეიძლება სხვა ბილეთის სამიზნე აირჩიოს.

შეამოწმეთ 407-ის გზაც

Jetty 12.0.x-ში authenticate() GSS ჰოსტის სახელს იღებს request.getHost()-იდან და შედეგს აგებს ნაგულისხმევი Authorization თავსართით. ავთენტიფიკაციის ობიექტის proxy URI-ით დაკავშირება თავისთავად არ ცვლის ამ არჩევანს proxy-ს ჰოსტის სახელად და Proxy-Authorization-ად.

ამიტომ proxy ინტეგრაციას ამ გაცვლისთვის სჭირდება სწორი მოთხოვნის ჰოსტი და proxy-ით შემოფარგლული შედეგი. HTTPS CONNECT მოთხოვნასა და ჩვეულებრივ წარმოშობის მოთხოვნას განსხვავებული ჰოსტის მნიშვნელობები შეიძლება ჰქონდეს. დაადასტურეთ დაყენებული იმპლემენტაციის ქცევა და ნუ ჩათვლით, რომ სერვისის სახელის setter სრულ 407 პროცესს უზრუნველყოფს.

407-ისთვის შეამოწმეთ proxy ავთენტიფიკაციის გაცვლა და ჰოსტი, რომელიც ამ მოთხოვნამ გამოიყენა. 401 წარმოშობის ავთენტიფიკაციას ეკუთვნის. მხოლოდ სწორი მომხმარებლის ბილეთი არ ამტკიცებს, რომ Jetty-მ სწორი სერვისის ბილეთი მოითხოვა ან შუამავალმა ის მიიღო.

დაკავშირებული სტატიები