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

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

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

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

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

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

Спасибо

4b9b3361

Ответ 1

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

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

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

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