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