ASP.NET: как делиться ресурсами (членство, библиотеки) между веб-приложениями

StackOverflow https://stackoverflow.com/questions/819779

Вопрос

Я пытаюсь создать небольшую интранет. Для этого у меня есть локальный веб-сервер. Корнем этого веб-сайта будет панель инструментов, которая будет содержать функции входа в систему / регистрации (членство в ASP.NET по умолчанию).

http://localhost
http://localhost/Account

Остальная часть интрасети будет состоять из подприложений, таких как:

http://localhost/ApplicationName

Корневой веб-сайт и большинство вложенных приложений требуют аутентификации пользователя, для которого я буду использовать поставщика членства ASP.NET по умолчанию.

  

Все проекты (root и sub) являются отдельными проектами в Visual Studio,   и у каждого проекта есть свой   Проект WebSetup для развертывания.

1.) Как я могу использовать членство в ASP.NET во вложенных приложениях?

Кроме того, большинство приложений (root и sub) будут использовать стороннюю библиотеку (инфраструктуру данных).

2.) Как я могу ссылаться на библиотеку в корневом проекте и «использовать» указанную библиотеку в подпрограммах?

Спасибо за любые предложения!

Это было полезно?

Решение

Создайте свой общий код в проектах библиотек классов, которые можно использовать из нескольких веб-проектов. Что касается поставщика членства, я думаю, вам нужно будет сохранить данные членства во внешнем экземпляре SQL (который может быть на том же сервере), а затем просто использовать те же строки подключения для доступа к ним в каждом проекте.

Другие советы

Членство предназначено для работы с одним или несколькими приложениями. У вас может быть экземпляр базы данных (отдельно от любых баз данных для любого из ваших приложений), в котором могут храниться данные о членстве каждого из ваших приложений. Если вы хотите, чтобы все ваши приложения использовали одинаковые данные о членстве, укажите идентичное имя приложения (и connectionString), когда определение членства в web.config каждого приложения .

Что касается второй части вашего вопроса, ответ, размещенный tvanfosson (вместе с комментариями), должен привести вас на правильный путь.

Изменить (@ ropstah Comment): Ах, я не учел этого. В этом случае вы захотите внедрить единый вход (SSO) . Масуд Табатабаи опубликовал статью на ASPAlliance.com , в которой описывается весь процесс. Кроме того, ответ предоставлен Кейтом Руллом на этот вопрос переполнения стека также может помочь.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top