none
Obtener el Identificador del usuario con membership RRS feed

  • Pregunta

  • Hola!!

    Estoi haciendo una parte privada en la web donde solo acceden usuarios logeados con un cierto rol. Cada usuario accede a una parte de "favoritos" donde escoje una serie de noticias i se guardan en una tabla. La pregunta és: como puedo saber el ID del usuario logeado en ese momento para asi poder guardar en la tabla cada ID de noticia con su ID de usuario correspondiente. pq con esto del membership no veo como obtener el id del usuario logeado,...

    Muchas gracias!!!


    Ferran
    jueves, 7 de mayo de 2009 15:02

Respuestas

  • Hola Ferran


    mira en respuesta de como obtener el usuario logueado es facil

    no sin descartar lo que te comenta Marc

    Guid guid = (Guid)Membership.GetUser(User.Identity.Name).ProviderUserKey;
    

     




    Si la respuesta te fue útil recuerda marcarla como respusta o útil.
    Jonathan Romero
    Especialista .Net

    Profesional Microsoft VIP
    DCE 3a Estrella
    Spaces: seguridad y programacion
    • Marcado como respuesta Ferran P martes, 19 de mayo de 2009 9:45
    jueves, 7 de mayo de 2009 21:00
  • Un ejemplo muy sencillo de como recuperar el identificador del usuario Marc de MembershipProvider. "Retorna un Object pero lo convierto en un GUID".

    Guid guid = (Guid)Membership.GetUser("Marc").ProviderUserKey;
    jueves, 7 de mayo de 2009 19:33
    Moderador

Todas las respuestas

  • Un ejemplo muy sencillo de como recuperar el identificador del usuario Marc de MembershipProvider. "Retorna un Object pero lo convierto en un GUID".

    Guid guid = (Guid)Membership.GetUser("Marc").ProviderUserKey;
    jueves, 7 de mayo de 2009 19:33
    Moderador
  • Muchas gracias Marc!

    pero si quiero saber el id del usuario logeado en ese momento, es decir sin tener q poner el nombre sino simplemente del usuario logeado.

    Gracias!
    Ferran
    jueves, 7 de mayo de 2009 19:40
  • Pero Ferran si no guardas ese identificador en ninguna parte no lo puedes recuperar. Tendrías que mantenerlo tu en el profile del usuario logueado o en la sesión, para luego recuperarlo cuando desees.


    Web: http://lonetcamp.com -- Blog: http://geeks.ms/blogs/mrubino
    jueves, 7 de mayo de 2009 19:46
    Moderador
  • Pero al crear un usuario no se le asigna alguna id? o algun número único?? o lo tengo que añadir yo en el wizard de crecion??

    gracias!

    Ferran
    jueves, 7 de mayo de 2009 21:00
  • Hola Ferran


    mira en respuesta de como obtener el usuario logueado es facil

    no sin descartar lo que te comenta Marc

    Guid guid = (Guid)Membership.GetUser(User.Identity.Name).ProviderUserKey;
    

     




    Si la respuesta te fue útil recuerda marcarla como respusta o útil.
    Jonathan Romero
    Especialista .Net

    Profesional Microsoft VIP
    DCE 3a Estrella
    Spaces: seguridad y programacion
    • Marcado como respuesta Ferran P martes, 19 de mayo de 2009 9:45
    jueves, 7 de mayo de 2009 21:00
  • Perdonar mi ignorancia eh, jeje a lo mejor no me he explicado bien.

    Solo quiero obtener alguna id, o algo q identifique de manera únia al usuario logeado en ese momento y no sea modificable claro, el nombre no pq si se puede modificar. Esto lo necesito para rellenar otra tabla con solo dos columnas:  Id de usuario + id de otra cosa.

    no existe algo como lo que tu has puesto pero q no devuleva el nombre sino algun identificador?

    gracias!

    Ferran
    jueves, 7 de mayo de 2009 21:07
  • Ferran, el código que te he puesto devuelve el identificador único del usuario al identificarse con membership.

    Si quieres cuando das de alta el usuario puedes guardar esta información ProviderUserKey que es el id del usuario en el propio perfil del usuario. De esta manera siempre que esté logado podrás recuperar la información que te interese desde su perfil.

    http://msdn.microsoft.com/es-es/library/ms164644(VS.80).aspx 

    pero como te he comentado antes esto devuelve el identificador no el nombre de usuario.

    Para recuperar solo el nombre del usuario logueado puedes utilizar otra sentencia

    User.Identity.Name

    Si lo pruebas seguro que es lo que necesitas. ;-)

    Saludos.

     


    Si la respuesta ha sido de utilidad marca la como respuesta correcta.

    Marc Rubiño
    Web: http://lonetcamp.com
    Blog: http://geeks.ms/blogs/mrubino

    viernes, 8 de mayo de 2009 7:10
    Moderador
  • Hola Ferran, este hilo ya tiene más de medio año, tal vez ya implementaste lo que buscabas, o tal vez esto le sirva a alguien más.

    Con la utilización de SqlMembershipProvider se hace muy fácil, de hecho hay controles de servidor donde te muestra sin escribir ninguna línea de código, el nombre del usuario logueado: loginName, en la sección de "Inicio de Sesión" en el cuadro de herramientas de visualstudio. Para lo de los favoritos se me ocurre utilizar perfiles de usuario que están en "Profiles". Saludos.
    miércoles, 20 de enero de 2010 6:14