Подтвердить что ты не робот

Системы членства для MVC4, которые поддерживают RavenDB

Я создаю много быстрых "доказательств концепции" приложений MVC, и на самом деле я нашел провайдера SimpleMembership, который поставляется с шаблонами MVC4, очень удобен, так как он запускает меня с учетной записью пользователя и OAuth в течение нескольких минут.

Но... Я начал использовать RavenDb (на RavenHQ для многих проектов). Итак, я начинаю пытаться реализовать собственный "пользовательский поставщик членства" на основе ExtendedMembershipProvider, и, делая это, я понял, что это не имеет большого смысла. Я позже наткнулся на 2 интересных проекта, которые пытаются решить эту точную проблему:

Оба довольно интересные недавние усилия и задавались вопросом, являются ли они единственными, которые сейчас строятся. Я по существу ищу nuget pkg, чтобы я мог попасть в приложение MVC4, подключиться к моему RavenDb и быть готовым. Я готов построить эту вещь, но не хочу дублировать усилия, которые уже находятся в движении. спасибо!

4b9b3361

Ответ 1

Для RavenDB существует несколько поставщиков членства ASP.Net. Ни один из них не является официальным, и все они имеют несколько разные реализации. Google для "провайдера членства в ravendb", и вы найдете много.

Существует хорошая статья здесь, сравнивающая некоторые из них с собственными пакетами авторизации и аутентификации Raven.

Я согласен с вами в том, что было бы проще заменить SQL для Raven на различные шаблоны MVC4. Однако, помимо того, что они полагаются на поставщика членства, они, как правило, имеют модели, предназначенные для работы с Entity Framework. Если вы должны были написать образцы шаблонов с нуля с помощью RavenDB, у вас, вероятно, будет совсем другой конечный продукт.

Обновление

Я не понимал, что вы говорили о новом SimpleMembershipProvider. Я не знал, что это существовало. Я нашел статью Джона Галлоуэя, описывающую ее подробно - большое чтение. Он указывает на два ключевых момента, которые здесь актуальны. Я цитирую:

Обратите внимание, что SimpleMembership по-прежнему требует некоторого запаха SQL Server - он не будет работать с базами данных MySQL, NoSQL и т.д. Вы можете взглянуть на код в WebMatrix.WebData.dll, используя такой инструмент, как ILSpy, если вы например, почему - существуют места, где выполняются SQL-запросы SQL SQL, особенно при создании и инициализации таблиц. Похоже, что вы могли бы работать с другой базой данных, если вы создавали таблицы отдельно, но я не пробовал и не поддерживал на этом этапе.

...

Важная вещь, чтобы убрать здесь, это то, что SimpleMembershipProvider является MembershipProvider, но MemberhipProvider не является SimpleMembershipProvider. Это различие важно на практике: вы не можете использовать существующий MemberhipProvider (включая Universal Providers, найденный в System.Web.Providers) с API, который требует SimpleMembershipProvider, включая любой из вызовов в WebMatrix.WebData.WebSecurity или Microsoft.Web. WebPages.OAuth.OAuthWebSecurity.

Я бы понял, что писать SimpleMembershipProvider для RavenDB было бы невозможно.