Question

Je suis une classe Identité de mise en œuvre personnalisée pour un site ASP.Net 4.0 avec l'authentification par formulaire basé sur ce tutoriel:
Formulaires de configuration d'authentification et fonctions avancées < br>

Je voudrais stocker des informations utilisateur supplémentaire (Prénom / Nom, sexe, région géographique, profil Image miniature Nom du fichier, etc ...) dans le authcookie. Il y a un avertissement sur msdn.microsoft.com de limiter la taille de la propriété UserData.

Je n'ai pas été en mesure de trouver une limite de caractère définitif de la propriété UserData. Seulement que l'ensemble crypté cookie doit être sous 4096 octets.

Quelqu'un sait-il une limite de caractères maximum que je dois assumer dans mon code? Ou avoir une meilleure idée sur la façon de stocker ces pièces souvent nécessaires des informations utilisateur?

Merci

Était-ce utile?

La solution

Il n'y a pas de limite explicite - la taille maximale dépendra, par exemple, sur la longueur du nom d'utilisateur. De plus la taille maximale d'un cookie (ou d'une URL si vous utilisez des billets cookieless) dépend du navigateur.

vous pouvez stocker ce genre de côté serveur d'information (par exemple session), peut-être avec une sorte de id clé / dans le cookie. Une façon de le faire serait de mettre en œuvre une ProfileProvider personnalisée .

Un inconvénient de stocker des informations spécifiques à l'application telle que vous décrivez dans le cookie FormsAuthentication est que vous aurez besoin d'une nouvelle conception si jamais vos besoins d'application à passer de FormsAuthentication à une autre méthode d'authentification (par exemple WindowsAuthentication).

Personnellement, je ne stocke des informations pertinentes en pour l'authentification et éventuellement l'autorisation dans le cookie FormsAuthentication, comme tout le reste serait

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top