ASP.NET Forms Auth - Могу ли я получить временный уникальный идентификатор до входа пользователя в систему? - PullRequest
0 голосов
/ 02 марта 2012

Я использую проверку подлинности с помощью форм ASP.NET (роли, пользователи, членство и т. Д.).

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

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

Я сохраняю персонализированные настройки в таблице с их ASP.NET Auth UserId.Я надеюсь, что пользователям будет присвоен идентификатор пользователя на основе файлов cookie еще до того, как они войдут в систему и создадут учетную запись, а не каждый "гость", имеющий одинаковый "идентификатор гостя".

Если и когда они создаютучетная запись или вход в систему Я должен был перенести сохраненные настройки в их «постоянный» UserId, но это нормально для меня.

Я мог бы что-то изобрести заново, создав Guid и сохранив его в cookie, ноЯ бы не хотел изобретать велосипед, если в ASP.NET уже есть механизм.

Спасибо!Dave

Ответы [ 3 ]

1 голос
/ 02 марта 2012

См. Персонализация и профили пользователей в ASP.NET 2.0 - Обработка анонимных пользователей .

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

0 голосов
/ 02 марта 2012

Краткий ответ - Нет. Анонимным пользователям не назначен идентификатор пользователя, который можно сохранить в таблице профиля. Вам нужно будет создать таблицу «AnonymousSettings», в которой вы будете хранить информацию о настройке для каждого пользователя. Вы должны создать свой собственный файл cookie с уникальным идентификатором (GUID будет хорошим выбором) и использовать его для поиска анонимного пользователя.

После регистрации пользователя вы можете перенести его настройки из анонимной таблицы в настройки профиля.

0 голосов
/ 02 марта 2012

Asp.net Автоматически генерирует SessionID для пользователя. Вы можете использовать SessionID активного пользователя.

Session.SessionID возвращает уникальный ключ для пользователя. SessionID хранится в Cookies. Asp.Net не удаляет Session Cookie. После того, как пользователь вошел в систему. Итак Вы можете сопоставить SessionID и UserId.

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