首页 > 解决方案 > 在使用 keycloak 保护的 springboot 应用程序中实现基于模式的多租户

问题描述



我有一个链接到 postgresql 数据库的 springboot 应用程序。该应用程序使用 keycloak(keycloak springboot 适配器)进行保护。这个想法是在 postgres 数据库中为登录的不同用户组提供多个模式。我希望使用 springboot 服务器上的 rest 端点接收到的 keycloak 令牌来识别用户组,然后访问相应的模式。

我应该从哪里开始?谁能指点我这个指南?还是有其他更好的方法?任何帮助,将不胜感激。

编辑 ::
让我试着缩小一点。假设数据库具有以下模式:public、tenant1、tenant2、tenant3。在 keycloak 服务器中,我在同一个领域有两个客户端,一个用于 spring boot 应用程序,一个用于我的网站。我有3组。第 1 组有用户 A 和 B,第 2 组有用户 C 和 D,第 3 组有用户 E 和 F。如果用户 A 登录网站,他有一个 keycloak 令牌,将帮助他通过 ajax 请求获取数据从springboot服务器。我假设,传入的 ajax 请求可以提供 kc 令牌,它会告诉 Spring Boot 用户 A 正在请求数据并且他属于第 1 组。在这里,我希望 Spring Boot 服务器确定必须获取数据从模式“tenant1”并做相应的事情。同样,组 2 应定向到租户 2,组 3 应定向到租户 3。

干杯,
维克拉姆

标签: postgresqlspring-bootkeycloak

解决方案


推荐阅读