0

我正在使用 .NET Core 3.1 和 Angular 9 构建一个 Web 应用程序。我想知道是否可以使用内部 .NET Core 身份验证/授权机制连接到“授权”数据库并基于提供的凭据由用户连接到打算用于该用户的数据库。

布局如下:一个数据库,包含哪些用户可以连接到什么数据库。

用户可以根据其凭据访问的多个结构相同的数据库。

这是为了将数据拆分到多个数据库中所必需的,因为每个数据库将包含不同的数据但具有相同的结构。类似于下图的东西。

基于授权的多数据库访问

要使用的 RDBMS 将是 SQL Server 2019 Express。这种方法是否需要对 .NET Core 3.1 用于用户身份验证的默认机制进行任何修改?我应该根据要求考虑不同的方法吗?

提前感谢您的帮助和建议。

4

1 回答 1

0

您可以使用 Entityframework 核心和多个 DBContext 并通过传递不同的连接字符串来实现这一点。您可以使用连接到 auth db 的 AuthDBContext 进行用户身份验证,然后根据条件使用不同的 dbcontext。

您也可以使用 Dapper 等其他形式来实现此目的,方法是根据您的场景将不同的连接字符串传递给不同的 SqlConnection 对象。

于 2020-09-15T00:01:07.913 回答