Максимальная длина свойства FormsAuthenticationTicket.UserData

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

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

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

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

Спасибо




Ответы (2)


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

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

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

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

person Joe    schedule 08.09.2011

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

Эта статья также поможет вам проверить текущий размер билета аутентификации: Asp.Net Проверка билета аутентификации

person h3n    schedule 11.03.2016