Spring security spring security的多租户

Spring security spring security的多租户,spring-security,Spring Security,如何为多租户web应用程序应用spring安全性? 我的web应用程序必须支持多租户,即http://:/springapp/appolo---使用ldap进行身份验证 http://:/springapp/fortis----使用本地数据库进行身份验证 http://:/springapp/manipal---使用誓言进行身份验证 如何应用spring安全性以支持所有租户虽然这不是一个简单的案例,但它看起来可能微不足道 基本上,你所需要做的就是在你的webapp中创建一个(Spring)过滤器

如何为多租户web应用程序应用spring安全性? 我的web应用程序必须支持多租户,即http://:/springapp/appolo---使用ldap进行身份验证 http://:/springapp/fortis----使用本地数据库进行身份验证 http://:/springapp/manipal---使用誓言进行身份验证


如何应用spring安全性以支持所有租户

虽然这不是一个简单的案例,但它看起来可能微不足道

基本上,你所需要做的就是在你的webapp中创建一个(Spring)
过滤器
,它将捕获所有请求,并由推荐人的子域决定使用什么身份验证方法(它可以通过数据库中的一个简单表来实现,该表将子域映射到一个枚举,例如“oAuth”、“SAML”、“local”等。此筛选器应置于任何其他身份验证筛选器之前,正如我所说,它将从技术上决定使用哪种身份验证方法

我必须解决这种情况,最好的解决方案——据我所知——是支持一种身份验证方法,然后根据需要创建到其他身份验证方法的“桥梁”。例如,主要身份验证方法是oAuth2.0。然后,在需要其他类型的身份验证的情况下,创建“适配器”,或者“桥接”到其他机制。因此,如果您需要为cusomerB支持LocalDB,为customerC支持AD,那么您可以从oAuth适应LocalDB或AD。在我的例子中,我必须支持SAML,因为同一个Spring应用程序同时支持oAuth和SAML并不是件小事。(我认为从oAuth支持AD和LocalDB要容易得多。)

这是怎么发生的?你将本地数据库包装成oAuth提供商,这样你的应用程序就可以连接到它。广告连接器也是如此。你必须解析用户输入的URL,然后获得“租户”。然后你进入数据库,从租户映射到所需的身份验证机制,你知道要使用什么“网桥”


HTH.

谢谢您的回复,但在我的情况下,我只想验证租户感兴趣的一种身份验证类型。URL将是www.apollo.mCare.com使用ldap身份验证,www.fortis.mCare.com使用宣誓身份验证机制,www.manipal.mCare使用本地数据库身份验证,我想应用spring安全性,我需要基于租户的身份验证机制的运行时开关。我已经编辑了我的答案并添加了一些信息。请看一看。如果答案有用,请不要忘记将其标记为:-)