2009-10-01 7 views
0

En utilisant l'authentification par formulaire, je stocke un cookie pour chaque utilisateur s'ils marquent Se souvenir de moi lors de la connexion, en utilisant le morceau de code suivant dans l'événement Login1_LoggedIn. Lorsque l'utilisateur arrive sur ma page avec un cookie, j'ai besoin d'obtenir son nom d'utilisateur pour pouvoir vérifier son rôle. Le cookie d'authentification par formulaires stocke-t-il ces informations et comment puis-je les récupérer?Authentification par formulaires - Stockage et récupération des noms d'utilisateur

Répondre

2

La chaîne que vous allez analyser pour SetAuthCookie (Login1.UserName dans votre cas) sera stockée dans le IPrincipal lorsque l'utilisateur accède à une page. Vous pouvez y accéder en utilisant:

Page.User.Identity.Name 
+0

Le problème est que lorsque je vérifie pour le cookie, l'utilisateur n'est pas connecté; par conséquent son identité n'est pas établie, et par conséquent je ne peux pas utiliser ce code. –

+0

Haha. Ignorer mon dernier commentaire Je suis stupide de sauter aux conclusions. +1 et accepté pour DaveG !. –

+0

Il est également possible de stocker les rôles utilisateur dans le cookie d'authentification lui-même et d'utiliser Page.User.IsInRole ("yourrole"); –

1

Essayez

Page.User.Identity.Name 

ou

HttpContext.Current.User.Identity.Name 
+0

+1 parce que c'est correct, mais DaveG vous a battu pour qu'il soit accepté. Encore, merci! –

Questions connexes