2014-11-26 15 views
5

Tôi đang tích hợp tiện ích mở rộng spring-security-saml để hỗ trợ SSO trong ứng dụng web của mình, ứng dụng của tôi sẽ cho phép các khách hàng khác nhau thêm siêu dữ liệu IDP của họ và chứng chỉ của họ vào webapp của tôi (đó là một SP) để webapp của tôi có thể khởi tạo SSO với idp của họ.Cách thêm siêu dữ liệu idp mới vào mùa xuân-SAML khi chạy

Ngay bây giờ tôi đang xác định một "siêu dữ liệu" đậu trong cấu hình java của tôi, nơi tôi thêm siêu dữ liệu idp vào CachingMetadataManager. Nhưng điều này chỉ xảy ra một lần, tôi không thể tìm ra cách để thêm siêu dữ liệu idp mới vào MetadataManager khi chạy (mà không cần khởi động lại ứng dụng của tôi). Tôi có thể lấy đậu siêu dữ liệu từ SpringContext mùa xuân và thêm một nhà cung cấp mới vào nó không? Nó có hoạt động không?

Thực tiễn chung để hỗ trợ trường hợp sử dụng ở trên (thêm idp mới khi chạy) với spring-SAML là gì? có bất kỳ thư viện java nào khác hỗ trợ điều này không.

Cảm ơn trước

+1

Bạn đã thực hiện điều này đúng cách, nếu có, làm cách nào? – articuno

+0

Bạn có thể chia sẻ giải pháp cho những người khác như bạn đang vướng vào vấn đề này không? – theLearner

Trả lời

6

Các CachingMetadataManager được đồng bộ và bạn có thể thêm/xóa MetadataProviders trong thời gian chạy bằng cách nhận được đậu từ bối cảnh ứng dụng và gọi addMetadataProvider/removeMetadataProvider.

+2

Nhưng nếu tôi làm điều này, wont customer1 có thể xem IDP được cấu hình bởi customer2 không? – articuno

+0

@articuno Bất kỳ sự may mắn nào với việc triển khai của bạn liên quan đến customer1 và customer2? làm thế nào bạn sẽ tách nó? – sunder

Các vấn đề liên quan