Профили в MVC 2 и / или пользовательская регистрация пользователя - PullRequest
0 голосов
/ 20 июня 2010

Я работаю над приложением MVC 2, где мне нужно, чтобы пользователи добавляли настраиваемые поля при регистрации, например, возраст, номер телефона, полное имя и т. Д.

Расследование Я нашел эту запись в блоге , где они используют профили ASP.NET и настраивают элемент управления CreateUserWizard. Моя проблема была в том, что я не могу заставить это работать, так как в MVC у меня нет кода, и если бы он у меня был, вероятно, , он бы не работал, поскольку CreateUserWizard использует ViewState .

Все, что мне нужно, это то, что я сказал: попросите пользователей добавить настраиваемые поля при регистрации (мне уже удалось настроить членство, это работает хорошо).

Я хотел бы знать, есть ли такой простой способ, как тот, который я нашел, для достижения того, что мне нужно, использует ли он Профили или нет.

Я надеюсь, что вы можете мне помочь,

Sam

Ответы [ 2 ]

0 голосов
/ 25 апреля 2011

Проверьте этот вопрос; возможно, это укажет вам правильный путь. :)

Профиль вопроса

0 голосов
/ 20 июня 2010

Я обнаружил, что самый простой способ - использовать MembershipSystem, но максимально избегать ProfileSystem.

Я использую Usertable, который имеет столбец UserID, который сопоставляется с UniqueID ProileSystem. Вы видите, что в системах есть перерыв: с одной стороны есть профиль, а с другой - мой пользователь.

Здесь и там возникает проблема:

  • Вы создаете членство пользователя и запись профиля, а после нее вы создаете запись в таблице пользователей. Нет никакой возможности иметь транзакцию, которая охватывает обе операции.
  • Пользователь меняет свой E-Mail. Это должно быть сделано для системы Mebrships и для пользователя таблицы

Вы можете начать реализацию свойств с помощью пользовательского ProfileProvider. Это легко, и вы даже можете использовать свою собственную таблицу пользователей. Но в моем случае я обнаружил, что это плохо: большая часть ProfileSystem проникла в мое приложение. Я начал с таблицы пользователя, затем мне пришлось подумать о таблице адресов, таблице заказов ....

В конце я увидел, что где-то будет перерыв, поэтому решил сделать это как можно раньше. Ваша ситуация может быть другой, и ProfileSystem может быть полезна в некоторых ситуациях, но если вы начнете внедрять большую часть своего приложения в провайдере пользовательских профилей, я подумаю еще раз.

Итак, мое предложение:

Используйте MembershipSsytem и ProfileSystem для создания учетной записи и получения идентификатора пользователя. Затем используйте этот идентификатор в своем бэкэнде.

...