0

Я использую функциональность членства Asp.Net для работы с моим управлением пользователями и ролями.Поставщик членства для использования конкретного провайдера

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

Однако есть несколько пользователей, которые работают более чем для одного из клиентов, и я хочу использовать один логин и позволить им выбрать, какой клиент просматривать. У меня есть все настройки для облегчения этого «переключения клиентов» с использованием промежуточной базы данных, в которой хранятся все имена пользователей и отношение к которым у них есть доступ. У меня также есть настройка, поэтому любые обновления для пользователя в одной базе данных будут обновлять всех соответствующих пользователей в других базах данных. Вся эта логика работает очень хорошо, за исключением того, что я не могу понять, как сообщить ASP.Net об изменении конкретного MemberhipProvider и использовать его.

Процесс я думал, что я должен использовать следующим образом (когда пользователь переключает клиента в раскрывающемся списке клиентов):

  • Войдите текущий пользователь из
  • Расскажите ASP.Net, который членство поставщик использовать (выбирается в зависимости от клиента, выбранного в выпадающем списке)
  • Войдите текущий пользователь при помощи поставщика членства выбранного клиента и обновление/перенаправление на страницу, они просматривали, когда они изменили ниспадающее меню

Я знаю, как получить ссылку на конкретного поставщика членства (Membership.Providers [MembershipProviderName]), но я не могу найти никакой информации о том, как сообщить ASP.Net об изменении поставщика членства. Я даже не уверен, как управление учетными записями asp.net делает это в фоновом режиме - что-то, что, вероятно, поможет мне во всем этом.

Я искал SO и в Интернете некоторое время и, похоже, не очень много разбираюсь в этом, кроме нескольких потоков, где люди пытаются изменить атрибут DefaultProvider элемента Providers в своем Web.config.

ответ

0

Этот MSDN tutorial может вам помочь.

+0

Спасибо за учебник. Я посмотрел на несколько разных, но это одно из лучших, что я видел. В конце концов, я пытался избежать создания пользовательского поставщика членства. Тем не менее, чем больше я читаю о провайдерах, тем больше я вижу, как мой подход не совсем то, для чего предназначалась модель нескольких поставщиков. Пока, поскольку все дублированные пользователи в клиентских БД всегда будут иметь одни и те же данные (благодаря моей логике приложений), я решил немного обмануть и просто использовать одну и ту же информацию о пользователе/​​роли от любого поставщика asp.net (кроме UserId, которые должны быть получены от конкретного провайдера по запросу). –