我有一个由许多组织共享的数据库(多租户场景)。
我想确保授权用户只能查看单个组织的数据,而无需每次都明确编码这样的约束。
LightSpeed 有没有好的方法来做到这一点?
我有一个由许多组织共享的数据库(多租户场景)。
我想确保授权用户只能查看单个组织的数据,而无需每次都明确编码这样的约束。
LightSpeed 有没有好的方法来做到这一点?
一种可能的解决方案是为每个租户设置单独的表,即以某种租户标识符为前缀的表。
例如,如果您有一个客户表,您可以在其前面加上租户名称
Client1_Customer
Client2_Customer
Lightspeed 有一个名为DefaultNamingStrategy的内置命名策略,可以用您自己的INamingStrategy实现来替换它。您需要做的就是实现GetTableName,以便您可以识别当前租户并选择相应的表名。
我在 LightSpeed 中发现了一个很棒的功能,称为 QueryFilterAttributes。我可以创建一个组织查询过滤器属性,它可以将组织 ID 注入到查询中,就像 LightSpeed 的本机软删除一样。
非常光滑。