Spring Security 有没有一种方法可以使用Sping Boot 为多租户SaaS平台实现SSO?

cwdobuhd  于 2023-06-23  发布在  Spring
关注(0)|答案(1)|浏览(232)

我们有一个客户(OKTA是他的IDP)实施SSO的要求,我们也有其他客户要求SSO(ADFS和一个登录)。所有其他客户端身份验证都是数据库身份验证。
因此,基于每个客户端,身份验证机制应该改变。这可能吗?
我的应用程序是多租户SaaS。它部署在AWS上,负载均衡器将随机切换服务器。
我们使用Angular 5和Sping Boot 2.1来提供服务。
我如何才能做到这一点?请引导。

cuxqih21

cuxqih211#

这是可能的,因为你没有给出你识别租户的方式,比如子域等,你将能够在下面的逻辑开始时通过名称推断租户。
其逻辑如下,
1.将传入请求发送到控制器
1.识别租户(通过URL / UI输入)
1.根据识别的租户,重新路由到租户特定页面
1.如果用户属于没有SSO(DB身份验证)的租户,则可以重定向到用户名/密码登录页面
1.决定此逻辑的控制器将无需授权即可访问&它将需要访问数据库以了解推断的租户名称的authenticationType。
由于这将基于每个请求,应用程序将是无状态的,您可以使用ELB,如您的帖子中所述,没有任何问题。

相关问题