Как хранить дополнительную информацию о пользователе? - PullRequest
1 голос
/ 11 июня 2011

Вот проблема: я разработал приложение ASP.NET MVC3, используя Razor.Я также реализовал пользовательский поставщик членства и переопределил метод ValidateUser ().Внутри я запрашиваю свою базу данных и получаю много информации о пользователе в дополнение к паролю аутентификации.

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

Итак, парни и девушки, как бы вы решили эту проблему?Должен ли я добавить дополнительную информацию в файл cookie сеанса?Или, может быть, лучшее решение?

Ответы [ 2 ]

3 голосов
/ 11 июня 2011

Используйте ProfileProvider в ASP.NET.

0 голосов
/ 11 июня 2011

Для переменных уровня приложения они будут подвергаться повторным пулам приложений и аналогичным «имитационным» перезапускам, связанным с тем, что пользователи начинают все сначала.Эти переменные должны быть полностью независимы от использования пользователем и должны быть легко воссозданы.Если у вас есть переменные, которые зависят от пользователя или которые не могут быть легко восстановлены без какого-либо вмешательства извне, вам определенно понадобится другой метод хранения.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...