Pour une raison quelconque, je la propriété UserData de mon cookie d'authentification est vide. Voici le code:
if (HttpContext.Current.Request.IsAuthenticated ) { var authCookie = HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName]; if (authCookie != null) { var authTicket = FormsAuthentication.Decrypt(authCookie.Value); string data = authTicket.UserData; // data is empty !!! } }
4 Réponses :
redirefromloginPage code> écrase votre cookie. Supprimez cette ligne et rediriger manuellement (
réponse.redirect code>). P>
J'utilise réponse.redirect code> mais toujours
userData code> a obtenu une chaîne vide
J'ai posté ma question http://stackoverflow.com/questions/20816425/geting -formsaut hentitys-ticket-u serdata-as-vide-string
C'est une réponse similaire que j'ai répondu il y a quelques jours. P>
https://stackoverflow.com/a/16365000/296861 p>
Vous ne pouvez pas utiliser formesAuthentication.settauthcookie strong> ou FormsAuthentication.redirectFromLoginPage strong> Si vous créez FormsAuthenticationTicket Strong> par vous-même. P>
J'ai réalisé que FormsAuthentication.gedirectrice a également ce problème. Récupération de l'URL et stocker dans une variable, puis la fixation du cookie et enfin, le redirect a résolu le problème.
Il me semble que vous faisiez le même tutoriel ... J'ai rencontré le même problème dans mon cas Cela fonctionne dans mon cas p> p>
Une autre raison "Code> FormsAuthentinCtiket Code> peut être liquidée avec un Si vous avez Pas de données d'utilisateur spéciales à définir sur le ticket d'authentification, puis utilisez une chaîne vide comme argument au lieu de c'est-à-dire, au lieu de: P> userData CODE> Valeur - qui entraîne le jeton d'authentification crypté généré par appelant
formesAuthentication.crypt code > Sur le ticket d'authentification étant vide, c'est si
null code> a été spécifié comme valeur pour le paramètre
userData code> du
FormsAuthenticationticket code> constructeur
. null code>. p>
FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(
myAuthenticationTicketVersion,
authenticatedUserName,
DateTime.Now,
myExpirationDate,
true,
""); // Ok