Ответ 1
Итак, вот что я нашел после просмотра некоторого исходного кода (MVC4).
SimpleMembership - это реализация абстрактного класса ExtendedMembershipProvider. Код внутри SimpleMembership - это в основном операции SQL, и некоторые вызовы в базовую (называемую "предыдущей" в документации) MembershipProvider.
Я не думаю, что это было бы полезно (в моем случае) переопределить SimpleMembership, поскольку его реализация в основном связана с SQL Server. Вместо этого, насколько я понимаю, я должен реализовать ExtendedMembershipProvider. Затем, установив эту реализацию в файле web.config, помощник WebSecurity обойдет SimpleMembership (реализация по умолчанию) и вызовет мою реализацию ExtendedMembershipProvider.
Я не думаю, что сделаю это как можно скорее, так как выглядит еще сложнее, чем раньше (больше методов для реализации)... но все же выполнимо.
Однако, все это сказало, я немного разочарован тем, что нам все еще нужно работать с MembershipProvider, который, IMHO, далеко (много статических и внутренних вещей) из всей зависимости что мы так любим с ASP.Net MVC/WebApi.
Изменить 1
Этот вопрос был освещен до того, как Джон Галлоуэй написал этот учебник: http://weblogs.asp.net/jgalloway/archive/2012/08/29/simplemembership-membership-providers-universal-providers-and-the-new-asp-net-4-5-web-forms-and-asp-net-mvc-4-templates.aspx
Но мой ответ остается действительным, поскольку это (взято из статьи Джона Гэллоуэй) возобновляет его:
Обратите внимание, что SimpleMembership по-прежнему требует некоторого вкуса SQL Server - он не будет работать с базами данных MySQL, NoSQL и т.д. Вы можете взглянуть на код в WebMatrix.WebData.dll с помощью инструмента, такого как ILSpy, если вы как понять, почему - есть места, где SQL Server специфический SQL выполняются, особенно при создании и инициализация таблиц. Кажется, что вы можете работать с другой базы данных, если вы создали таблицы отдельно, но у меня нет попробовал, и в данный момент он не поддерживается.