Я прочитал все в этой теме, которую я мог найти, включая статьи MSDN и сообщения SO, но я все еще очень потерян и смущен.
Вопросы
Пожалуйста, ответьте на следующее (кратко, если это возможно):
-
Что такое SimpleMembership/SimpleMembershipProvider (WebMatrix.WebData) и за что они/несут ответственность?
-
Что такое WebSecurity (WebMatrix.WebData)?
-
Что такое класс Членство (System.Web.Security)?
-
Почему MVC4 создает таблицу UserProfile и таблицу webpages_Membership? Для чего они нужны и в чем разница? Что такое класс UserProfile, который создает MVC4?
-
Что такое класс UsersContext?
-
Как все они работают вместе, чтобы выполнить аутентификацию пользователя?
Мое положение
Эти вопросы затем приводят к следующей проблеме:
Предположим, у меня есть существующая база данных с пользователями (идентификаторы, имена пользователей, пароли). Я создаю новое приложение MVC4 и используя проверку подлинности с помощью форм. Пользовательские пароли хранятся в базе данных в зашифрованном виде (не bcrypt).
Что мне нужно сделать, чтобы он работал с MVC4?
Нужно ли создавать пользовательский MemberhipProvider?
Мои знания До сих пор
Насколько я понимаю, WebSecurity - это статический класс (Module), который взаимодействует с MembershipProvider. MemberhipProvider - это класс, который объясняет, как работают определенные функции, такие как ValidateUser, CreateUser, ChangePassword.
Чтобы решить мою проблему, я предполагаю, что мне нужно создать собственный MemberhipProvider и сообщить WebSecurity, чтобы использовать мой новый MemberhipProvider.
Баунти?
Я поставил щедрость на этот вопрос и намерен присудить его Энди Брауну за выдающийся ответ.