1

我有一个由许多组织共享的数据库(多租户场景)。

我想确保授权用户只能查看单个组织的数据,而无需每次都明确编码这样的约束。

LightSpeed 有没有好的方法来做到这一点?

4

2 回答 2

3

一种可能的解决方案是为每个租户设置单独的表,即以某种租户标识符为前缀的表。

例如,如果您有一个客户表,您可以在其前面加上租户名称

Client1_Customer
Client2_Customer

Lightspeed 有一个名为DefaultNamingStrategy的内置命名策略,可以用您自己的INamingStrategy实现来替换它。您需要做的就是实现GetTableName,以便您可以识别当前租户并选择相应的表名。

于 2012-04-23T02:04:46.003 回答
1

我在 LightSpeed 中发现了一个很棒的功能,称为 QueryFilterAttributes。我可以创建一个组织查询过滤器属性,它可以将组织 ID 注入到查询中,就像 LightSpeed 的本机软删除一样。

非常光滑。

于 2012-04-23T22:52:23.837 回答