设想:
我们有一个多租户应用程序,其中每个租户都有自己的模式。有一个公共模式,其中存在一个包含每个租户记录的表。所以有一个超级管理员可以创建租户并将管理员分配给新创建的租户。
为了实现 RBAC(基于角色的访问控制),我打算做的是将每个角色表放入租户模式中,并实现一些中间件来检查授权。这是隔离模式环境中的良好架构吗?
设想:
我们有一个多租户应用程序,其中每个租户都有自己的模式。有一个公共模式,其中存在一个包含每个租户记录的表。所以有一个超级管理员可以创建租户并将管理员分配给新创建的租户。
为了实现 RBAC(基于角色的访问控制),我打算做的是将每个角色表放入租户模式中,并实现一些中间件来检查授权。这是隔离模式环境中的良好架构吗?
根据这个答案,PostgreSQL 可以处理大量模式,但备份、管理和升级可能会变慢。
您还可以考虑每个租户的单个表,因为您还可以在表级别实现 RBAC。