Добавление столбцов в элемент управления CreateUserWizard с помощью FBA

Я хочу создать на нашем сайте раздел создания учетных записей для незарегистрированных пользователей. Я хочу задать те же вопросы, что и элемент управления CreateUserWizard, но с некоторыми изменениями. Я хочу, чтобы вопрос исходил из таблицы поиска вопросов в SQL. У пользователя будет раскрывающийся список доступных вопросов, и я сохраню выбранный им вопрос и ответ. Кроме того, я хочу сохранить еще 1 часть данных о пользователе (SSN).

Мои вопросы: 1) Является ли аутентификация на основе форм приемлемым решением для этого при использовании SSL? 2) Могу ли я добавить дополнительные столбцы (questionid и ssn) в таблицу членства или другую таблицу и как мне это сделать, чтобы сохранить информацию «благословенным» способом? Будет ли решение иметь негативный эффект, если в будущем я захочу добавить сброс / восстановление пароля?

Имеет ли смысл при добавлении столбцов вызывать Membership.CreateUser вместо использования CreateUserWizard?

Спасибо!!


person Bill Martin    schedule 15.01.2009    source источник


Ответы (1)


1) Да, это так. Вы можете расширить членство с помощью профилей и добавить любые поля, которые вам нравятся.

2) Вы можете многое настроить CreateUserWizard, но за кулисами он просто вызывает пользователя Membership.Create. Лично я бы просто накатил свой (поскольку это действительно не так уж и сложно), если вы не хотите использовать мастер по умолчанию. Но это больше личное предпочтение, чем что-либо другое.

ПРИМЕЧАНИЕ: ссылка, которую я предоставил для профилей, предполагает, что вы используете проект веб-сайта. Если вы используете проекты веб-приложений, вы можете прочитать несколько дополнительных шагов о здесь.

person Matt Briggs    schedule 15.01.2009
comment
Если я откатываю свой собственный, какие соображения мне следует учесть, чтобы обеспечить безопасность сайта? Я подумывал делать все с использованием SSL и использовать простые запросы SQL в коде для проверки аутентификации. Звук в порядке? Что еще нужно учесть? - person Bill Martin; 15.01.2009
comment
Хеширование паролей. Сохранение входа в систему (использовать cookie? Заблокировать его в сеансе?). Ведение журнала аудита. Включение / отключение / удаление пользователей. Это зависит от того, что вы делаете (если это для комментариев в блоге, не имеет большого значения. Банковское программное обеспечение, очень важно) и ваших требований. - person Matt Briggs; 16.01.2009