2011-10-20 16 views
9

Creé un sitio. Es un sitio interno. Es un sitio .NET 4.0. Me gustaría obtener el nombre de usuario usando HttpContext.Current.User.Identity.Name de la persona que navega por el sitio. No hay una página de inicio de sesión dado que es interna. No estoy seguro de lo que me estoy perdiendo. ¿Es necesario el siguiente en mi webconfig:¿Por qué HttpContext.Current.User.Identity.Name devuelve en blanco

<authentication mode="Windows"></authentication> 
<identity impersonate="true"/> 
<authorization> 
    <allow users="?"/> 
</authorization> 

y esto:

<system.webServer> 
    <validation validateIntegratedModeConfiguration="false" /> 

+0

No obtiene los nombres de inicio de sesión de los usuarios que desean permanecer en el anonimato sin forzar la autenticación de algún tipo, si eso es lo que esperaba hacer. –

Respuesta

14

Surge en blanco cuando no autenticado. Usted puede verificar esto también haciendo:

HttpContext.Current.User.Identity.IsAuthenticated 

comprobar su nivel de autenticación en IIS, se fijó para habilitar la autenticación de Windows allí también?

4

Sí, sí es necesario, al menos, se requiere que la parte

<authentication mode="Windows"></authentication> 

si estás usando autenticación de Windows integrada.

Después de eso, usted debería ser capaz de agarrar el nombre de usuario de la persona conectada

No, no es necesario:.

<validation validateIntegratedModeConfiguration="false" /> 
+0

Cambié mi webconfig para tener , pero todavía no tengo nombre de usuario. Al navegar por el sitio desde mi computadora, espero ver mi nombre de usuario (ese usuario con el que estoy conectado a la máquina). No estoy seguro de lo que me estoy perdiendo. – obautista

+2

¿Ha configurado la autenticación de Windows integrada en el nivel de la aplicación en IIS? – Icarus

8

En iis deshabilita el acceso anónimo y habilita la seguridad integrada de Windows para su aplicación web.

2

En IIS, vaya a Sitios \ Sitio web predeterminado \ [Su sitio web].

Seleccione la opción Autenticación y desactive la Autenticación anónima.

1

En mi caso eliminar la línea <remove name="FormsAuthentication" /> de web.config ayuda.

También tengo <authentication mode="Forms" /> en la sección <system.web>.

Cuestiones relacionadas