мультитенант asp.net - PullRequest
       5

мультитенант asp.net

0 голосов
/ 12 мая 2011

Наше требование - иметь многопользовательскую отдельную архитектуру базы данных для веб-сайта ASP.Net. Для каждого арендатора будет отдельная база данных и, в зависимости от UserId, во время выполнения следует решить, какую базу данных подключить. Код уже находится в разработке, и я не собираюсь добавлять столбец TenantId в каждую таблицу и вносить аналогичные изменения в код .Net. Есть ли решение, в котором мы можем создать разделы в SQL Server БД и пользовательский интерфейс должен подключаться к соответствующему разделу динамически. На данный момент я имею в виду подход, который заключается в кэшировании всех строк подключения и в зависимости от Tenant во время выполнения выбирает ConnString.

Ответы [ 2 ]

2 голосов
/ 08 июня 2011

Это может быть немного поздно, в зависимости от того, как далеко вы продвигаетесь в построении вашего решения, но вы можете посмотреть на следующие рамки:

Одна вещь, которую вы можете легко сделать, - это объединить несколько клиентов в одной базе данных и связать каждого клиента с другой схемой; каждому идентификатору пользователя может быть назначена схема и назначено достаточно прав для правильной схемы. В зависимости от вашей ситуации это может иметь смысл. Будете ли вы использовать Windows Azure / SQL Azure?

Причина, по которой я спрашиваю о SQL Azure, заключается в том, что подготовка новых клиентов становится намного проще, поскольку это можно сделать программно.

0 голосов
/ 12 мая 2011

Если вы хотите работать с данным решением, вам потребуется центральная БД пользователей и основных учетных записей. Таблица основных счетов будет содержать идентификатор арендатора и строку подключения. Таблица Users будет содержать имя пользователя, пароль и FK для идентификатора клиента.

Вы входите в систему с центральной БД (которая всегда является строкой статического соединения). После вы можете присоединиться к своим таблицам и иметь строку подключения для основной учетной записи.

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