ಹಳೆಯ 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 ಕಾನ್ಫಿಗರೇಶನ್‌ನಲ್ಲಿ, ಉಲ್ಲೇಖಿಸಿದ ಕ್ಲೈಂಟ್ ಬೀನ್ ನಿಖರವಾಗಿ ಈ ಕಾನ್ಫಿಗರ್ ಮಾಡಿದ ಇನ್‌ಸ್ಟೆನ್ಸ್ ಆಗಿರಬೇಕು.

ಪೂರೈಕೆದಾರರ ಇರುವ ಪಾರ್ಸರ್ ಪೂಲ್, ರಿಫ್ರೆಶ್ ಕಾನ್ಫಿಗರೇಶನ್ ಮತ್ತು ಸುತ್ತಮುತ್ತಲಿನ ಮೆಟಾಡೇಟಾ ಮ್ಯಾನೇಜರ್ ಅನ್ನು ಉಳಿಸಿಕೊಳ್ಳಿ. ಮಾರ್ಗವನ್ನು ಬದಲಿಸುವುದು ಆ ಜವಾಬ್ದಾರಿಗಳನ್ನು ಬದಲಿಸುವುದಿಲ್ಲ.

ಮೆಟಾಡೇಟಾ URL ಗುರುತಿನ ಪೂರೈಕೆದಾರರ URL ಆಗಿಯೇ ಉಳಿಯುತ್ತದೆ. ಪ್ರಾಕ್ಸಿ ಹೋಸ್ಟ್ HTTP ಕ್ಲೈಂಟ್‌ನಲ್ಲಿರಬೇಕು. ಅನುಮೋದಿತ, ಸಾರ್ವಜನಿಕವಾಗಿ ತಲುಪಬಹುದಾದ ಮೆಟಾಡೇಟಾ URL‌ಗೆ HTTP ಪ್ರಾಕ್ಸಿ ಪಟ್ಟಿಯಿಂದ HTTP ಅಭ್ಯರ್ಥಿಯು ಆ ಕ್ಲೈಂಟ್‌ನ ಹೋಸ್ಟ್ ಮತ್ತು ಪೋರ್ಟ್ ಅನ್ನು ತುಂಬಬಹುದು, ಸಾರ್ವಜನಿಕ ಮಧ್ಯವರ್ತಿಗಳಿಗೆ ಅನುಮತಿ ಇದ್ದಾಗ ಮತ್ತು ಯಾವುದೇ ಪ್ರಾಕ್ಸಿ ರುಜುವಾತುಗಳನ್ನು ಇರಿಸದಿದ್ದಾಗ. ಇದು ಸರ್ವರ್-ಸೈಡ್ ಮರುಪಡೆಯುವಿಕೆಯ ಮಾರ್ಗ: ಗುರುತಿನ ಪೂರೈಕೆದಾರರಿಗೆ ಬ್ರೌಸರ್‌ನ ಯಶಸ್ವಿ ಮರುನಿರ್ದೇಶನವು ಅಪ್ಲಿಕೇಶನ್ ಸರ್ವರ್ ತನ್ನದೇ ನೆಟ್‌ವರ್ಕ್ ನಿರ್ಬಂಧಗಳ ಮೂಲಕ ಮೆಟಾಡೇಟಾವನ್ನು ಡೌನ್‌ಲೋಡ್ ಅಥವಾ ರಿಫ್ರೆಶ್ ಮಾಡಬಲ್ಲದು ಎಂದು ತೋರಿಸುವುದಿಲ್ಲ.

ಈ ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಇಲ್ಲಿ ಹೆಸರಿಸಿದ ಹಳೆಯ ಕ್ಲಾಸ್‌ಗಳಿಗೆ ಮಾತ್ರ ಬಳಸಿ. ಆಧುನಿಕ Spring Security saml2 ಬೆಂಬಲವು ಬೇರೆ API ಬಳಸುತ್ತದೆ, ಮತ್ತು ಹಳೆಯ ವಿಸ್ತರಣೆಗಾಗಿ ಬರೆದ ಬೀನ್ ಅನ್ನು ಅದರ ಪ್ರಸ್ತುತ ಮೆಟಾಡೇಟಾ ಕಾನ್ಫಿಗರೇಶನ್‌ನೊಂದಿಗೆ ಬದಲಾಯಿಸಲಾಗದು.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು