angular - .NET Core 3.1 应用程序与 SQL Server 2019 Express 多个数据库支持与主数据库进行身份验证
问题描述
我正在使用 .NET Core 3.1 和 Angular 9 构建一个 Web 应用程序。我想知道是否可以使用内部 .NET Core 身份验证/授权机制连接到“授权”数据库并基于提供的凭据由用户连接到打算用于该用户的数据库。
布局如下:一个数据库,包含哪些用户可以连接到什么数据库。
用户可以根据其凭据访问的多个结构相同的数据库。
这是为了将数据拆分到多个数据库中所必需的,因为每个数据库将包含不同的数据但具有相同的结构。类似于下图的东西。
要使用的 RDBMS 将是 SQL Server 2019 Express。这种方法是否需要对 .NET Core 3.1 用于用户身份验证的默认机制进行任何修改?我应该根据要求考虑不同的方法吗?
提前感谢您的帮助和建议。
解决方案
您可以使用 Entityframework 核心和多个 DBContext 并通过传递不同的连接字符串来实现这一点。您可以使用连接到 auth db 的 AuthDBContext 进行用户身份验证,然后根据条件使用不同的 dbcontext。
您也可以使用 Dapper 等其他形式来实现此目的,方法是根据您的场景将不同的连接字符串传递给不同的 SqlConnection 对象。
推荐阅读
- flutter - 如何在颤动的列或行中删除小部件之间的空间?
- python - GRPC 双向流在 1 分钟后关闭,没有消息
- javascript - 基于多个值过滤 JavaScript 数组
- java - 清除 Android 应用程序通知 (Java)
- influxdb - 每小时 InfluxDB 总消息数
- arrays - 数组差异 IF/OR VBA 脚本
- textarea - 如何在屏幕加载时以角度设置文本区域的自动高度
- javascript - 无法在 JSON.parse 中创建长度超过 0x1fffffe8 个字符的字符串?
- python - 在numpy数组中获得最大上升
- javascript - 为什么在复选框的“其他”选项中提交带有回复的谷歌表单没有反映在个人回复中?