Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Разработка под 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 часа утра, я после дедлайна ![]() PashaPash, я ничего не напутал? А, может, зря я так профили не люблю? ![]() |
Автор: 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 их. Если сложные, и по из значениям придется выбирать/группировать пользователей - то в отдельную таблицу. У профилей есть замечательная фишка - поддержка анонимных пользователей, с переносом данных при регистрации. Например, можно позволить пользователю накидать товаров в корзину, сохранить ее до следующего визита, когда он определится с покупками. Или запомнить настройки "не прятать порно в результатах поиска", как делает гугл. |