我需要您对以下多租户的建议:
实际上我需要为我的应用程序实现多租户。我已经将它用于使用 DB/Schema 的传统流程(例如,每个租户的单独模式)。
现在我还需要集成来自 LDAP 和多租户的用户验证。所以我在想的是,如果我将用户信息 + 数据库/架构信息(数据库连接信息)存储在 LDAP 服务器中以获得应用程序的更多动态特性。因为有了这个我就可以连接任何数据库/模式(不管它们的物理位置)。
您对这种方法有何看法,真的可行吗?如果您有任何缺点,请分享。
感谢和问候。
我需要您对以下多租户的建议:
实际上我需要为我的应用程序实现多租户。我已经将它用于使用 DB/Schema 的传统流程(例如,每个租户的单独模式)。
现在我还需要集成来自 LDAP 和多租户的用户验证。所以我在想的是,如果我将用户信息 + 数据库/架构信息(数据库连接信息)存储在 LDAP 服务器中以获得应用程序的更多动态特性。因为有了这个我就可以连接任何数据库/模式(不管它们的物理位置)。
您对这种方法有何看法,真的可行吗?如果您有任何缺点,请分享。
感谢和问候。
听起来您正试图在您的系统上托管多个客户端的系统,并且每个客户端可能有来自多个位置的多个连接。从您的问题来看,尽管数据库可能不在同一个集群上,但您似乎为每个数据库放置了一个客户。
要做的第一件事是在 pg_hba.conf 中适当地锁定 PostgreSQL,并仅公开您想要公开的那些数据库/用户组合。如果你走这条路,LDAP 对我来说发布连接信息听起来很理智,因为这意味着你可以控制谁可以访问哪些帐户。另一个可能紧密相关的选择是颁发 SSL 证书并由客户端使用证书身份验证,因此可以向他们颁发证书并使用它进行连接。您甚至可以针对 LDAP 对 PostgreSQL 进行身份验证。
因此,一旦您以其他方式妥善保护了东西,这里就有很多选项可以将这两者结合使用。祝你好运。