postgresql - 在使用 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。
干杯,
维克拉姆
解决方案
推荐阅读
- java - 无法打开我发送到前端并从浏览器下载的 Apache POI 生成的 .xlsx(消息:文件损坏且无法打开)?
- node.js - 不能存根不存在的属性“创建”猫鼬文档
- java - 在 Spring Boot 应用程序的控制器中设置日期值(Java 8)
- junit5 - 带有断言错误的失败测试显示为诱惑中的损坏
- c# - 带有多选和子查询的 EF Core CROSS JOIN
- reactjs - 如果我不硬编码里面的高度组件是隐藏的
- vba - 检查变量中是否存在特定值
- python - 递归删除S3存储桶下的文件而不使用python删除文件夹
- vhdl - 如何在vhdl中找到两个向量的点积?
- mongodb - 切换/使用
在 MongoDB 外壳中