首页 > 解决方案 > 使用多数据库创建单个应用程序

问题描述

我认为我没有通过标题正确描述问题。但是,我有一个所有租户都将使用的 .NET Core Web Api 应用程序。除了单个 API 实例,我还有一个前端 Vuejs 实例,所有租户都可以将其用作“门户”。

这些租户都有自己的数据库。目前,api 都需要请求中的标头来tenant指定请求的租户,然后这将根据请求中的租户创建一个数据库连接。

您不能假装您是不同的租户,因为所有 api 都需要对租户数据库进行授权。

我想我坚持的事情是在使用单个前端 vuejs 实例登录时确定用户所属的租户。仅使用api时这不是问题,因为可以通过请求的标头发送租户,但我不确定如何解决租户以确定要通过登录使用的正确数据库在所有租户中使用。

抱歉,如果我没有很好地解释问题,这是一个棘手的情况。

标签: c#asp.net-coreasp.net-core-webapimulti-tenant

解决方案


如果所有数据库都具有相同的结构,我将只使用一个数据库并使用租户 ID 作为索引,这样您的项目中只有一个连接,问题就解决了。否则,每次用户尝试登录时,您都必须检查所有数据库。


推荐阅读