Как отследить и загрузить информацию о конкретном пользователе?

Я делаю небольшой портал в ASP.net (с C#.net4), где пользователи могут входить в систему и добавлять, редактировать свою личную информацию (PI). Но я не понимаю, как загружать информацию (хранящуюся в БД SQL-сервера) на странице, когда определенный пользователь вошел в систему.

Например: если Сэм вошел в систему, он может просмотреть свою личную информацию. Когда Вики войдет в систему, она сможет просмотреть свой личный кабинет.

кто может помочь мне с этим?

заранее спасибо.


person Thomas    schedule 21.01.2011    source источник


Ответы (3)


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

Итак, если идентификатор пользователя равен 278, ваш запрос будет выполняться как:

SELECT first_name, last_name, * FROM user_table WHERE user_id = 278

Из переменной сеанса, хранящейся как:

Session["UserId"] = currentUserId;
person Paul Sasik    schedule 21.01.2011

поставщик членства в ASP.NET уже позаботился об этом за вас. Вы рассматривали возможность его использования? Вы можете управлять всей своей аутентификацией, разрешениями, ролями и доступом/редактированием информации профиля, которую вы определяете. Вы получаете доступ к данным через объекты членства, и для этого вам не нужно писать ни одной строки SQL. Это сэкономит вам массу работы вместо того, чтобы пытаться изобретать велосипед.

person George Johnston    schedule 21.01.2011
comment
Обычно я бы также рекомендовал этот подход, но Томас спрашивает, как отслеживать текущего пользователя, чтобы его/ее индивидуальная информация отображалась правильно. - person Paul Sasik; 21.01.2011

Используйте обычное членство, как описано в других ответах. Затем используйте систему профилей, чтобы каждый пользователь мог просматривать/редактировать свою информацию при входе в систему (согласно вопросу). ПРЕДУПРЕЖДЕНИЕ. Система профилей ASP.NET работает только с шаблоном проекта «Веб-сайт». Если вы хотите использовать шаблон проекта веб-приложения, выполните следующие действия:

ASP.NET: Интернет Сайт против проекта веб-приложения

Когда у вас есть профили и работают, данные профиля могут храниться в объектах сеанса, пока пользователь вошел в систему.

person IrishChieftain    schedule 21.01.2011