Я создаю новое приложение ASP.NET MVC (в C #), и одним из требований является создание новой базы данных участников. Для этого нам потребуются роли для управления различными типами участников и профили для управления дополнительными метаданными, прикрепленными к каждому члену. Пока все хорошо, просто используйте стандартные MembershipProvider, RoleProvider и ProfileProvider, предоставляемые как часть .NET Framework.
Однако уловка в том, что я хотел бы разрешить разные методы аутентификации. Я хотел бы, чтобы учетные записи и учетные данные для входа имели отношение один ко многим (к одной учетной записи может быть присоединено несколько учетных данных для входа). Например, пользователь может иметь учетную запись OpenID и ActiveDirectory, присоединенную к его учетной записи.
Однако, после экспериментов с несколькими способами, мы выбрали маршрут MembershipProvider (объяснил, как он был достигнут, как ответ ниже).
Мой вопрос: как люди делали это раньше и как люди предлагали бы мне подойти к этому? Похоже, что это достигается на многих сайтах, но поиск здесь не дает ничего хорошего, с чем можно поиграть.
РЕДАКТИРОВАТЬ: После осмотра в течение хороших часов в течение ночи и этим утром - я все еще не убежден, что разделка одного члена MembershipProvider была бы самым простым вариантом. Дает ли наличие нескольких MembershipProviders одинаковый эффект?
BOUNTY EDIT: Без ответов я предполагаю, что нет более оптимального решения, чем то, которое я выложил в качестве ответа. Это действительно так? Я предлагаю вознаграждение, чтобы попытаться выяснить, есть ли у кого-нибудь еще какие-либо мысли по этому поводу и есть ли лучшие альтернативы.
BOUNTY ACCEPT EDIT: я думаю, что WIF - это ответ, принятый ниже, для выпуска .NET 4 и, возможно, других версий, поскольку он, вероятно, работает с 3.5. Кроме этого, может быть, урезанный членство в ProviderProvider или адаптированный может все еще иметь значение.