Аутентификация ASP.NET - многопользовательская и многопользовательская база данных - PullRequest
2 голосов
/ 29 октября 2010

У нас есть простое приложение ASP.NET, которое использует ASP.NET SqlMembershipProvider, и все отлично.

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

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

/web.config
/APP1 (uses membership provider in /web.config, with userlist A)
/APP2 (uses membership provider in /web.config, with userlist B)

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

Но как сообщить узлу system.web.authentication, какой поставщик членства использовать?

Насколько я понимаю, он всегда будет использовать значение по умолчанию.

Ответы [ 2 ]

1 голос
/ 16 ноября 2010

Если я правильно прочитал ваш сценарий, похоже, что единственное различие между двумя приложениями - это свойство "ApplicationName".

Итак, если вы установите его в Application_Start (в Global.asax) каждогоиз двух приложений вы должны быть золотыми.

protected void Application_Start(object sender, EventArgs e)
{
    Membership.Provider.ApplicationName = "test";
}
0 голосов
/ 29 октября 2010

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

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