Хранение идентификатора пользователя в ASP.net
Вопрос
Я использую ASP.net для разработки веб-сайта интрасети.Мне нужно сохранить идентификатор пользователя во всех обратных передачах для всех страниц веб-сайта.Целесообразно ли хранить эту информацию в сеансе или каким-либо другим доступным способом.
Решение
Если используется проверка подлинности с помощью форм, имя пользователя будет доступно как:
Page.User.Identity.Username
Если вам нужно сохранить еще одну часть информации, используйте Session.
ПС.Я рекомендую использовать класс для обертывания переменных сеанса для обеспечения строгой типизации и потенциальных значений по умолчанию.
Другие советы
Формы аутентификации также способен хранить собственный идентификатор пользователя и решает за вас множество задач, таких как установка файлов cookie, перенаправление страницы входа и т. д.
Вы можете установить идентификатор пользователя, используя Перенаправление из страницы входа метод, а затем используйте FormsAuthentication_OnAuthenticate событие, чтобы найти и установить свойство Page.User для доступа ко всей остальной логике, которая вам нужна.
Наиболее распространенные способы сделать это — использовать объект сеанса ASP.NET или файлы cookie.
В любом случае это будет работать хорошо, но если вы хотите, чтобы их пользовательская информация сохранялась даже после истечения времени сеанса (например, закрытия окна браузера), вам следует изучить файлы cookie.Информация о сеансе будет удалена после закрытия браузера или истечения времени ожидания активности.