Преобразование отдельного БД ASP.NET сайта в мультитенант - членство и дилемма ролей - PullRequest
3 голосов
/ 27 января 2009

Я нахожусь в процессе преобразования одного веб-сайта SQL DB (ASP.NET/VB.NET) в многопользовательское приложение, где каждый клиент имеет свою собственную базу данных.

На старом сайте все роли ASP, учетные записи и поставщики указывали на одну базу данных.

Теперь у нас есть несколько баз данных, мне интересно, какую архитектуру / методы лучше всего использовать. Существует одна база данных, в которой настраиваются клиенты, такие как название компании, различные параметры (которые обычно находятся в файле web.config) и строка подключения к их базе данных клиентов.

Должны ли мы иметь все элементы членства и ролей в единой базе данных, которые настраивают арендаторов, или у нас есть членство и роли в каждой отдельной базе данных арендаторов? Вариант 2 кажется хитрым, потому что я думаю, что ASP.NET нравится только один набор RoleProviders, определенный в web.config.

Кто-нибудь пробовал это раньше или получил какие-либо рекомендации?

Ответы [ 2 ]

2 голосов
/ 27 января 2009

Если вы используете модель членства ASP.Net со встроенными провайдерами, то, как вы указали, проще всего поместить их в одну БД.

Один из вариантов, который я не пробовал, - определить в вашем файле web.config поставщика для каждого арендатора. Это позволит каждому арендатору иметь собственную базу данных членства и позволит избежать конфликтов имен пользователей между арендаторами (если это является требованием).

0 голосов
/ 09 августа 2013

У вас должна быть возможность настроить строку подключения к базе данных членства ASP.NET во время выполнения. В этой теме есть несколько параметров, в том числе настраиваемый поставщик членства или изменение значения на раннем этапе жизненного цикла запроса через Global.asax.cs.

...