如何在运行时在spring-SAML中添加新的idp元数据

时间:2014-11-26 10:09:05

标签: spring-security saml-2.0 spring-saml

我正在集成spring-security-saml扩展以支持我的Web应用程序中的SSO,我的应用程序应该允许不同的客户将他们的IDP元数据及其证书添加到我的webapp(这是一个SP),以便我的webapp可以启动SSO反对他们的idp。

现在我在我的java配置中定义了一个“元数据”bean,我将idp元数据添加到CachingMetadataManager中。但这只发生一次,我无法弄清楚如何在运行时向MetadataManager添加新的idp元数据(无需重新启动我的应用程序)。我可以从Spring ApplicationContext获取元数据bean并为其添加新的提供程序吗?它会起作用吗?

使用spring-SAML支持上述用例(在运行时添加新的idp)的一般做法是什么?有没有其他支持这个的java库。

提前致谢

1 个答案:

答案 0 :(得分:7)

CachingMetadataManager已同步,您可以在运行时添加/删除MetadataProviders,方法是从应用程序上下文中获取bean并调用addMetadataProvider / removeMetadataProvider