Một ứng dụng Spring Security SAML cũ có thể lấy siêu dữ liệu của nhà cung cấp danh tính từ tiến trình máy chủ bằng HTTPMetadataProvider. Lần tải xuống ra ngoài đó dùng máy khách HTTP được trao cho nhà cung cấp siêu dữ liệu.

Với ứng dụng dùng kiểu cấu hình Spring Security SAML 1.0.x/OpenSAML 2, hãy cấu hình Apache Commons HttpClient của nó trước khi tiêm:

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

Truyền đối tượng đã cấu hình đó làm đối số hàm dựng của máy khách HTTP thuộc org.opensaml.saml2.metadata.provider.HTTPMetadataProvider, cùng với bộ hẹn giờ và URL siêu dữ liệu hiện có. Trong cấu hình XML, bean máy khách được tham chiếu phải chính là thực thể đã cấu hình này.

Giữ nguyên nhóm bộ phân tích hiện có của nhà cung cấp, cấu hình làm mới và trình quản lý siêu dữ liệu xung quanh. Việc đổi tuyến không thay thế những trách nhiệm đó.

URL siêu dữ liệu vẫn là URL của nhà cung cấp danh tính. Máy chủ proxy thuộc về máy khách HTTP. Với một URL siêu dữ liệu đã được phê duyệt và truy cập công khai, một ứng viên HTTP từ danh sách proxy HTTP có thể điền máy chủ và cổng của máy khách đó khi các trung gian công cộng được phép và không lưu thông tin đăng nhập proxy. Đây là đường lấy dữ liệu phía máy chủ: việc trình duyệt chuyển hướng thành công tới nhà cung cấp danh tính không chứng minh rằng máy chủ ứng dụng tải hoặc làm mới được siêu dữ liệu qua các hạn chế mạng của chính nó.

Chỉ dùng cấu hình này cho các lớp cũ được nêu ở đây. Hỗ trợ Spring Security saml2 hiện đại dùng API khác, và một bean viết cho phần mở rộng cũ không thể thay thế cho cấu hình siêu dữ liệu hiện tại của nó.

Bài viết liên quan