Подтвердить что ты не робот

Пользовательские данные в ASP.Net Store в Auth Cookie

Я хочу сохранить некоторые данные, такие как ник пользователя и идентификатор пользователя (первичный ключ таблицы) в разделе пользовательских данных файла cookie auth. Причина, по которой я это делаю, заключается в сохранении этих данных, когда браузер закрыт, без переустановки пользователя.

Изменить: Упс! Понял, что я не очень хорошо себя объяснил. Я не пытаюсь повторить проверку подлинности пользователя на основе своего файла cookie. Пользователь уже аутентифицирован системой членства ASP.Net - эта часть в порядке. Моя проблема в том, что если я хочу показать псевдоним пользователя, например, я должен запустить другой SQL-запрос, а затем сохранить его в сеансе. Я решил, что имеет смысл хранить эту информацию в файле cookie auth (опять же, уже созданном ASP.Net) в разделе UserData, который, кажется, был создан для этой цели.

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

Каким образом можно кодировать эти данные в разделе пользовательских данных файла cookie auth? Я думал о сериализации, но это может быть излишним. Я иду об этом неправильно?

4b9b3361

Ответ 3

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

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

Ответ 4

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

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

Ответ 5

Возможно, вы могли бы просто создать еще один файл cookie... Я лично не стал бы связываться с файлом cookie auth.

Ответ 6

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

Лучший подход, чтобы избежать лишних запросов к базе данных, которые вас беспокоят, - это кэшировать эти данные в памяти после входа пользователя в систему.

ASP.NET имеет кэш запросов HttpContext.Current.Items и кэш домена приложения HttpContext.Current.Cache, я думаю, что вы ищете HttpContext.Current.Cache в этом случае.

В качестве альтернативы, если вам нужно кэшировать веб-серверы (балансированные по весу веб-серверы), вы можете посмотреть в хранилища значений сторонних ключей, такие как memcached, redis, скорость, ncache и т.д.