繁体   English   中英

多租户asp.net

[英]multi-tenant asp.net

我们的要求是为ASP.Net网站建立一个多租户独立的数据库架构。 对于每个租户,将有单独的数据库,并且根据UserId,在运行时应确定要连接的数据库。 代码已经在生产中,我不愿意在每个表中添加一个TenantId列,并在.Net代码中更改类似的代码。 有没有一个解决方案,我们可以在SQL Server中创建分区db和UI应该动态连接到相应的分区。 截至目前,我想到的方法是缓存所有连接字符串,并根据Tenant,在运行时选择ConnString。

这可能有点晚,具体取决于您构建解决方案的程度,但您可以查看以下框架:

您可以轻松做到的一件事是将多个客户组合在同一个数据库中,并将每个客户关联到不同的架构; 可以为每个用户标识分配一个模式,并为正确的模式分配足够的权限。 根据您的情况,这可能有意义。 您将使用Windows Azure / SQL Azure吗?

我询问SQL Azure的原因是因为配置新客户变得更容易,因为它可以通过编程方式完成。

如果您想使用给定的解决方案,则需要一个用户和主帐户的中央数据库。 主帐户表将包含租户ID和连接字符串。 Users表将用户名,密码和FK保存到租户ID。

您登录中央DB(始终是静态连接字符串)。 您可以加入表并拥有主帐户的连接字符串。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM