2010-06-19 2 views
0

Я работаю на MVC 2 приложения, где мне нужно пользователям добавлять пользовательские поля при регистрации, например, возраст, номер телефона, ФИО и т.д.Профили в MVC 2 и/или пользовательской регистрации пользователя

расследуя Я нашел this blog entry, где они используют профили ASP.NET и настраивают элемент управления CreateUserWizard. Моя проблема заключалась в том, что я не могу заставить это работать, поскольку в MVC у меня нет кода, и если бы у меня было это, вероятно, it wouldn't work since CreateUserWizard uses ViewState.

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

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

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

Сэм

ответ

0

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

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

Это становится проблемой здесь и там:

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

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

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

Так мое предложение:

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

0

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

Profile question