Приложение .NET Core 3.1 с поддержкой нескольких баз данных SQL Server 2019 Express с основной базой данных для аутентификации

Я создаю веб-приложение с.NET Core 3.1 и Angular 9. Я хотел бы знать, можно ли использовать внутренний механизм аутентификации / авторизации.NET Core для подключения к базе данных "авторизации" и на основе предоставленных учетных данных пользователем, подключитесь к базе данных, предназначенной для использования этим пользователем.

Схема выглядит следующим образом: одна база данных, содержащая, какие пользователи могут подключаться к какой базе данных.

Множественные структурно идентичные базы данных, к которым пользователи могут получить доступ в зависимости от их учетных данных.

Это необходимо для разделения данных по нескольким базам данных, поскольку каждая база данных будет содержать разные данные, но с одинаковой структурой. Что-то вроде следующего рисунка.

В качестве СУБД будет использоваться SQL Server 2019 Express. Потребует ли этот подход каких-либо изменений в механизме по умолчанию, который.NET Core 3.1 использует для аутентификации пользователей? Следует ли мне рассмотреть другой подход, основанный на требовании?

Заранее благодарим вас за помощь и совет.

1 ответ

Вы можете добиться этого, используя ядро ​​Entityframework и несколько DBContext, а также передав другую строку подключения. Вы можете выполнить аутентификацию пользователя с помощью AuthDBContext, который подключается к auth db, а затем в зависимости от условия использовать другой dbcontext.

Вы можете добиться этого, используя другой orm, например Dapper, передав другую строку подключения другому объекту SqlConnection в зависимости от вашего сценария.

Другие вопросы по тегам