ASP.NET MVC 2 с использованием аутентификации - PullRequest
1 голос
/ 09 февраля 2012

Вот моя проблема, если я могу назвать это так. Я реализовал аутентификацию с пользовательским провайдером членства в asp.net mvc 2.0. Все работает хорошо, но у меня есть одна проблема. Когда пользователь входит в систему, он предоставляет свое имя пользователя и пароль ия проверяю это через базу данных в MSSQL, затем я проверяю пользователя и передаю и использую FormsAuthentication для установки только UserName в качестве информации профиля.

Но когда этот пользователь хочет создать новый элемент (скажем, для продажи или что-то), который принадлежит толькоему и могут быть перечислены с другими элементами, которые создал пользователь, я могу использовать это имя пользователя (в FormsAuthentication), проверить его в базе данных и подключить этот элемент к соответствующему пользователю с внешним ключом, но это работает, если имя пользователя уникально, поэтому мне нужны дополнительные сведения, такие как столбец IDиз таблицы базы данных «пользователь», чтобы сохранить и использовать ее позже, так что это самый безопасный и «лучший метод» способ хранить дополнительную информацию о пользователе и использовать ее позже, потому что имя пользователя, как я упоминал, должно быть уникальным в базе данных, и это неОбщая информация о зарегистрированном пользователе.

1 Ответ

2 голосов
/ 09 февраля 2012

Не могли бы вы сохранить объект User (или любую другую имеющуюся у вас информацию) в сеансе? или использование файла cookie на стороне клиента (если вам необходимо сохранить состояние входа в систему даже после того, как пользователь закроет свой браузер и т. д.)? Дайте мне знать, если вам нужны конкретные примеры.

РЕДАКТИРОВАТЬ: После прочтения ваших комментариев, если вы ищете решение "безопасных файлов cookie", взгляните на это: http://www.codeproject.com/Articles/13665/HttpSecureCookie-A-Way-to-Encrypt-Cookies-with-ASP

Я использую его для хранения идентификатора пользователя (только его идентификатор). Когда я получаю этот файл cookie, я загружаю пользователя с его идентификатором. Некоторое кэширование в памяти позволяет избежать загрузки пользователя при каждом запросе.

Но просто хотел уточнить, что объект сеанса кажется отличным для того, что вы пытаетесь сделать + вам не нужно беспокоиться о безопасности (для обычного приложения).

...