2011-02-10 25 views
29

Estoy utilizando la autenticación de formularios.Obtener el nombre de usuario en la autenticación de formularios

En la autenticación de Windows para obtener el nombre de usuario de la PC que utilizo: User.Identity.Name

necesito esta información también en la autenticación de formularios, pero User.Identity.Name no funciona.

¿Cómo puedo obtener el User.Identity.Name sin usar la autenticación de Windows?

Respuesta

51

Para obtener el nombre del usuario autenticado:

HttpContext.Current.User.Identity.Name; 
+2

devuelve una cadena vacía. –

+2

¿Está seguro de que tiene la configuración de Autenticación de formularios correctamente en el archivo web.config? ¿Qué significa esto 'this.Context.User.Identity.IsAuthenticated' – Matt

+0

@Luca Romagnoli ¿Puedes publicar tu archivo web.config? o al menos la sección de autenticación y cualquier sección de autorización que tenga? – Matt

1

eso es exactamente cómo lo hago, creo que podría haber algo mal con su configuración? Por ejemplo, ¿estás realmente conectado al sitio mientras estás depurando? Si no, debes hacerlo para obtener un valor.

0

Puede depender de cuándo en el ciclo de vida que está solicitando.

Si maneja BeginRequest() entonces todavía no habrá ninguna información de autenticación. Mientras que si maneja EndRequest() lo hará.

Cuestiones relacionadas