2014-11-26 20 views
5

Łączę rozszerzenie wiosenno-bezpieczeństwa-saml, aby obsługiwać SSO w mojej aplikacji internetowej, moja aplikacja powinna umożliwiać różnym klientom dodawanie metadanych IDP i ich certyfikatów do mojej aplikacji webowej (czyli SP), aby moja aplikacja internetowa mogła zainicjować logowanie jednokrotne na podstawie ich identyfikatora.Jak dodać nowe metadane idp wiosną SAML w środowisku wykonawczym

W tej chwili definiuję komponent "metadanych" w mojej konfiguracji Java, w której dodaję metadane idp do CachingMetadataManager. Ale zdarza się to tylko raz, nie jestem w stanie dowiedzieć się, jak dodać nowe metadane idp do MetadataManager w czasie wykonywania (bez ponownego uruchamiania mojej aplikacji). Czy mogę po prostu pobrać komponent metadanych ze Spring ApplicationContext i dodać do niego nowego dostawcę? Czy to zadziała?

Jaka jest ogólna praktyka, aby wesprzeć powyższy przypadek użycia (dodawanie nowych identyfikatorów w środowisku wykonawczym) za pomocą wiosennego SAML? czy istnieją inne biblioteki java, które obsługują to.

góry dzięki

+1

Czy wdrożyłeś to poprawnie, jeśli tak, w jaki sposób? – articuno

+0

Czy możesz podzielić się rozwiązaniem dla innych osób, takich jak Ty, które natkną się na ten problem? – theLearner

Odpowiedz

6

The CachingMetadataManager jest zsynchronizowany i można dodawać/usuwać MetadataProviders podczas wykonywania przez coraz fasoli z kontekstu aplikacji i nazywając addMetadataProvider/removeMetadataProvider.

+2

Ale jeśli to zrobię, to czy klient1 będzie mógł zobaczyć IDP skonfigurowane przez klienta2? – articuno

+0

@articuno Powodzenia w implementacji związanej z klientem1 i klientem2? jak oddzielisz to? – sunder

Powiązane problemy