ძველ Spring Security SAML აპლიკაციას შეუძლია იდენტობის მომწოდებლის მეტამონაცემები სერვერის პროცესიდან აიღოს HTTPMetadataProvider-ის გამოყენებით. ეს გარე ჩამოტვირთვა იყენებს მეტამონაცემების მომწოდებლისთვის მიცემულ HTTP კლიენტს.

აპლიკაციისთვის, რომელიც იყენებს Spring Security SAML 1.0.x/OpenSAML 2 კონფიგურაციის სტილს, დააკონფიგურირეთ მისი Apache Commons HttpClient ინექტირებამდე:

org.apache.commons.httpclient.HttpClient metadataHttpClient =
    new org.apache.commons.httpclient.HttpClient();
metadataHttpClient.getHostConfiguration()
    .setProxy("proxy.example", 8080);

გადაეცით ეს კონფიგურირებული ობიექტი როგორც org.opensaml.saml2.metadata.provider.HTTPMetadataProvider-ის HTTP კლიენტის კონსტრუქტორის არგუმენტი, არსებულ ტაიმერთან და მეტამონაცემების URL-თან ერთად. XML კონფიგურაციაში მითითებული კლიენტის bean უნდა იყოს ზუსტად ეს კონფიგურირებული ეგზემპლარი.

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

მეტამონაცემების URL რჩება იდენტობის მომწოდებლის URL-ად. პროქსის ჰოსტი HTTP კლიენტს ეკუთვნის. დამტკიცებული და საჯაროდ ხელმისაწვდომი მეტამონაცემების URL-ისთვის HTTP პროქსების სიიდან HTTP კანდიდატს შეუძლია შეავსოს ამ კლიენტის ჰოსტი და პორტი, როცა საჯარო შუამავლები დაშვებულია და პროქსის სერტიფიკატები არ ინახება. ეს არის სერვერის მხრიდან მიღების გზა: ბრაუზერის წარმატებული გადამისამართება იდენტობის მომწოდებელზე არ ნიშნავს, რომ აპლიკაციის სერვერს შეუძლია მეტამონაცემების ჩამოტვირთვა ან განახლება საკუთარი ქსელური შეზღუდვების გავლით.

გამოიყენეთ ეს კონფიგურაცია მხოლოდ აქ დასახელებული ძველი კლასებისთვის. თანამედროვე Spring Security saml2 მხარდაჭერა სხვა API-ს იყენებს, და ძველი გაფართოებისთვის დაწერილი bean არ არის ურთიერთშემცვლელი მის მიმდინარე მეტამონაცემების კონფიგურაციასთან.

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