具有相同登录名的多个数据库(.net core 3 API)

问题描述 投票:0回答:1

我正在使用一个新平台(.net core 3 API),每个公司都有一个单独的数据库。我发现自己遇到一个问题,无法在互联网上找到解决方案。

公司具有不同的用户,但是用户有权访问不同的公司。拥有所有公司/用户的主数据库可以正常工作,但是我会把外键丢失给用户吗?最佳做法如何解决此问题?

我不是在谈论SQL用户,而是在我们的应用程序上创建的用户。

c# entity-framework multiple-databases
1个回答
0
投票

公司拥有不同的用户,但用户应能够登录不同的公司,如果他们有权。有一个大师所有公司/用户的数据库都可以工作,但是那样我会失去外键给用户?最佳做法如何解决此问题?

每个租户数据库解决方案的最佳做法是维护一个具有全局配置数据的中央数据库(像这样),并根据需要将相关数据复制到租户数据库。因此,您应该有一个中央数据库,用于管理用户和公司之间的关系,然后将每个公司的所有用户复制到他们的公司数据库中。

通常,此参考数据移动缓慢,因此您可以通过直接从应用程序写入两个数据库或运行批处理作业来管理复制。

© www.soinside.com 2019 - 2024. All rights reserved.