2009-03-14 9 views
6

J'écris une nouvelle application dans ASP.NET MVC. J'ai créé un MembershipProvider personnalisé qui stocke les données d'appartenance dans mon propre schéma db. Tout cela fonctionne, mais comment puis-je obtenir le MembershipUser dans mon application, de sorte que je puisse obtenir la clé utilisateur de l'utilisateur connecté et charger les classes de modèle relatives à cet utilisateur?Obtenir MembershipUser dans ASP.NET MVC

Répondre

9

Vous pouvez utiliser les éléments suivants:

using System.Web.Security; 

var user = Membership.GetUser(); 
+0

vous avez besoin encore une référence à System.Web.ApplicationServices (4.0) pour pouvoir accéder à toutes les propriétés de MembershipUser – BozoJoe

+0

son donnant HttpException des informations supplémentaires "Impossible de se connecter à la base de données SQL Server. Toutes les idées que je manque? – Dashrath

4

Utilisez la classe Membership statique pour récupérer l'utilisateur à l'aide GetUser. Vous devrez configurer votre fournisseur dans le fichier web.config. Lors de la connexion, vous obtenez le nom d'utilisateur de, probablement, une zone de texte sur votre formulaire. Une fois connecté, vous pouvez l'obtenir depuis la propriété User du contrôleur.

string username = this.User.Identity.Name; 
MembershipUser user = Membership.GetUser(username); 
+2

J'ai par la suite trouvé que vous n'avez pas besoin du nom d'utilisateur car Membership.GetUser() renvoie simplement l'utilisateur actuellement connecté. –

Questions connexes