Максимальная длина свойства FormsAuthenticationTicket.UserData - PullRequest
11 голосов
/ 08 сентября 2011

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

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

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

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

Спасибо

Ответы [ 2 ]

6 голосов
/ 08 сентября 2011

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

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

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

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

0 голосов
/ 11 марта 2016

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

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

...