我们从安全角度维护应用程序的两个版本
1. SAML based spring security
2. Spring and JDBC based application security.
由于我们的一些客户已经拥有SAML IDP(如ADFS和GLUU),他们希望我们为SSO集成,而某些客户没有SAML IDP。
是否存在两种配置可以共存的方式,并且基于使用该应用程序的客户,可以对用户施加安全性。
例如如果请求来自客户 a.myserverhost.com 则会强制执行基于SAML的安全配置。如果请求是 b.myserverhost.com 形式,则强制执行其他webSeciurityConfig
答案 0 :(得分:3)
是,所有这一切都是可能的。我建议您实施自己的AuthenticationManager管理多个AuthenticationProvider(例如SAML,JDBC)。
您可以根据特定条件插入条件逻辑以选择正确的提供商。
如需灵感,请查看默认实施ProviderManager。
开箱即用,ProviderManager将遍历所有AuthenticationProviders并尝试对用户进行身份验证。如果它没有找到用户,它会转到下一个用户。如果这就是您所需要的,那么您不需要任何自定义实现。