Вопрос

Я реализую класс Custom Identity для сайта ASP.Net 4.0 с проверкой подлинности с помощью форм на основе этого руководства:
Конфигурация проверки подлинности с помощью форм и дополнительные темы

Я хотел бы сохранить дополнительную информацию о пользователе (имя/фамилия, пол, географический регион, имя файла миниатюры изображения профиля и т. д.) в AuthCookie.Есть предупреждение о msdn.microsoft.com об ограничении размера свойства UserData.

Мне не удалось найти четкое ограничение на количество символов для свойства UserData.Только то, что весь зашифрованный размер файла cookie должен быть меньше 4096 байт.

Кто-нибудь знает максимальный лимит символов, который я должен использовать в своем коде?Или у вас есть лучшее представление о том, как хранить эти часто необходимые фрагменты пользовательской информации?

Спасибо

Это было полезно?

Решение

Явного ограничения нет — максимальный размер будет зависеть, например, от длины имени пользователя.Кроме того, максимальный размер файла cookie (или URL-адреса, если вы используете билеты без файлов cookie) зависит от браузера.

Вы можете хранить такую ​​информацию на стороне сервера (например,Session), возможно, с каким-то ключом/идентификатором в cookie.Одним из способов сделать это было бы реализовать обычай ProfileProvider.

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

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

Другие советы

Это зависит от максимальной длины печенья браузера. Эта статья может помочь: Ограничение печенья браузеров

И эта статья также помогает проверить ваш текущий размер билета на аутентификацию:Проверка билетов на аутентификацию ASP.NET

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top