Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка под ASP.NET > Создание пользователей с доп. информацие


Автор: Alfmaster 31.3.2009, 23:31
Создаем пользователя. На первом шаге заполняем информацию, которая необходима для поставщика Memberdhip и сохраняем эту информацию в автоматически созданную таблицу в нашей бд. На втором шаге запрашиваем упользователя дополнительную информацию. Вопрос: как следует сохранить эту информацию и как связать ее с созданным пользователем?

Автор: Idsa 1.4.2009, 00:14
Alfmaster, для этого есть профили (Profiles). Если не устраивает то, что стандартный провайдер сохраняет информацию в не нормализованном виде, можно загуглить провайдер, который исправляет этот косяк (не помню, как называется). А если у Вас вдруг проснется нелюбовь к профилям (как, например, у меня), всегда можно создать свою табличку в базе, связать ее через FK с aspnet_Users.UserId (в случае использования Membership) и написать к ней/ним (не всегда удается отделаться одной таблицей) CRUD-обертку с полным контролем над происходящим (а не как в случае с профилями). Обычно я так и делаю. Однако можно дополнить этот подход автоматизмом, присущим профилям (если не ошибаюсь, они умеют автоматически считываться и сохраняться): для этого нужно написать не очень сложный HttpModule.

Не обращайте внимание на последнее предложение: в большинстве случаев это излишний хардкор. Да и вообще, не обращайте внимание: 4 часа утра, я после дедлайна smile Думаю, Вам подойдет вариант с использованием профилей.

PashaPash, я ничего не напутал? А, может, зря я так профили не люблю? smile

Автор: Alfmaster 1.4.2009, 14:10
Спасибо за такой объемный и полезный ответ! Не каждый способен на такое в 4 часа! Только еще интересно, что такое CRUD-обертка?

Автор: Idsa 1.4.2009, 14:31
Alfmaster, CRUD - Create, Read, Update, Delete.

Автор: PashaPash 4.4.2009, 16:02
Idsa, да, все правильно. Если свойства простые - то в profile их. Если сложные, и по из значениям придется выбирать/группировать пользователей - то в отдельную таблицу.
Цитата(Idsa @  1.4.2009,  00:14 Найти цитируемый пост)
А, может, зря я так профили не люблю?

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

Автор: Idsa 4.4.2009, 16:23
Цитата(PashaPash @  4.4.2009,  20:02 Найти цитируемый пост)
У профилей есть замечательная фишка - поддержка анонимных пользователей, с переносом данных при регистрации.

Да, приятная возможность. Но так как она мне еще ни разу не пригодилась, продолжаю относиться к профилям с холодинкой smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)