2009-03-14 12 views
6

Estoy escribiendo una nueva aplicación en ASP.NET MVC. Creé un MembershipProvider personalizado que almacena datos de membresía en mi propio esquema db. Todo funciona, pero ¿cómo obtengo MembershipUser en mi aplicación, de modo que pueda obtener la clave de usuario del usuario que ha iniciado sesión y cargar las clases de modelo relacionadas con ese usuario?Obtener MembershipUser en ASP.NET MVC

Respuesta

9

Usted puede usar la siguiente:

using System.Web.Security; 

var user = Membership.GetUser(); 
+0

que todavía necesitan una referencia a System.Web.ApplicationServices (4.0) para poder acceder a las propiedades MembershipUser – BozoJoe

+0

su dando HttpException con información adicional 'No se puede conectar a la base de datos de SQL Server'. ¿Alguna idea de lo que me estoy perdiendo? – Dashrath

4

utilizar la clase estática Membership para recuperar el usuario utilizando GetUser. Tendrá que configurar su proveedor en el archivo web.config. Al iniciar sesión, obtiene el nombre de usuario de, presumiblemente, un cuadro de texto en su formulario. Una vez que haya iniciado sesión, puede obtenerla desde la propiedad del usuario del controlador.

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

Posteriormente, descubrí que no necesita el nombre de usuario porque Membership.GetUser() solo devuelve el usuario que ha iniciado sesión actualmente. –