La pregunta de «Donde obtengo el ID del Usuario?»…(para un amigo que esta migrando aplicaciones de ASP Clásico) pero para todo que se inicia, …aquí una pequeña ayuda.
Si vemos que nos brinda ASP.NET 2.0 con el espacio de nombre My.User
Vemos que el famoso USERID que tanto nos gusta y requerimos no lo tenemos a alcance de la mano…
Como Obtenerlo?
Aquí hacemos uso clases Membership y MembershipUser para obtener el usuario y luego preguntar por su ProviderUserKey
Ejemplo
Dim usuario As MembershipUser = Membership.GetUser Dim usuarioID As String = usuario.ProviderUserKey.ToString Dim usuario2 As MembershipUser = Membership.GetUser(My.User.Name) Dim usuarioID2 As String = usuario2.ProviderUserKey.ToString
Y como estamos en este tema…Hace unos días coloque mi granito de arena para Dot Net Tip of the Day (este mismo articulo) , y parece que muchos lo hicieron ya que da un servicio de los tips que van acumulando de la comunidad…
.NET Tips & Tricks Community (ALPHA)
http://dotnettipoftheday.org/SuggestedTips.aspx
Enlaces
- My.User (Objeto)
Proporciona acceso a la información sobre el usuario actual.
http://msdn2.microsoft.com/es-es/library/a3da82hw(VS.80).aspx - Membership.GetUser (Método)
Obtiene la información del origen de datos para el usuario suscrito
http://msdn2.microsoft.com/es-ar/library/system.web.security.membership.getuser.aspx - Membership.GetUser (Método) (String)
Recibe la información del origen de datos para el usuario suscrito especificado
http://msdn2.microsoft.com/es-ar/library/40w5063z.aspx - MembershipUser.ProviderUserKey (Propiedad)
Obtiene el identificador de usuario correspondiente al usuario desde el origen de datos de la suscripción.
http://msdn2.microsoft.com/es-ar/library/system.web.security.membershipuser.provideruserkey.aspx
Hola Espinete
Soy mas fan de VB.NET pero en C# puedes utilizarlo haciendo esta referencia.
Cómo: Utilizar el espacio de nombres My (Guía de programación de C#)
http://msdn2.microsoft.com/es-es/library/ms173136(VS.80).aspx
¿Y cómo lo obtengo desde una clase? Porque si lo uso tal como lo pones en ella siempre me pone el User como null?
Hola Alfredo, desde un componente/libreria? o de una clase que agregaste a tu web?
Si es una clase deberías hacer exactamente lo mismo
Si puedes postear por los grupos de noticias de ASp.NET (newsgroup te agredeceria), por alli hay mucha mas gente que te puede ayudar
Newsgroup de ASP.NET (UI Google Grupos)
http://groups.google.com.ar/group/microsoft.public.es.dotnet.aspnet/topics
o en los Foros de MSDN en Español
http://forums.microsoft.com/MSDN-ES/ShowForum.aspx?ForumID=309&SiteID=11
Me anduvo de primera Jose.
Lo que habria que hacer es extender la Clase My para tener disponible esto.
Me haré un tiempo y postearé esto.
Saludos
Es mas facil en c# hacerlo asi:
String usuario = User.Identity.Name.ToString();
Hola @Batusai, gracias por el comentario/tip
La idea del post es recuperar el ID (UserID) que es un uniqueidentifier (tipo de datos del SQLServer) o sea un GUID