Problema de autenticación al depurar en VS2013 – iis express

Estoy tratando de elegir el nombre de usuario de Windows al depurar en Visual Studio 2013. Simplemente estoy usando:

httpcontext.current.user.identity.name 

Si ejecuto esto en mi Dev Server funciona bien, si lo ejecuto en modo de depuración en cualquier versión anterior de Visual Studio también funciona bien.

Mi problema es: si ejecuto esto en Visual Studio 2013, obtengo una cadena vacía.

Mi configuración web es la siguiente.

          

Me acababa de actualizar a VS 2013 desde VS 2012 y la identidad del usuario actual (HttpContext.User.Identity) venía como anónimo.

Traté de cambiar el IIS express applicationhost.config, no hay diferencia.

La solución fue ver las propiedades del proyecto web, presionar F4 para obtener las propiedades del proyecto cuando se selecciona el nivel superior del proyecto. No haga clic con el botón derecho en el proyecto y seleccione propiedades, esto es algo completamente diferente.

Cambie la autenticación anónima por deshabilitar y la autenticación de Windows esté habilitada.

Funciona como salsa 🙂

Mientras investigaba esto, encontré mi respuesta, pero no puedo encontrar la respuesta en Internet, así que pensé en compartir esto:

Solucioné mi problema modificando mi archivo applicationhost.config. Mi archivo se guardó en la carpeta “\ Mis documentos \ IISExpress \ config”.

Parece que VS2013 ignoraba mi archivo web.config y aplicaba diferentes métodos de autenticación.

Tuve que modificar esta parte del archivo para que se vea como a continuación. En verdad, solo modifiqué la anonymousAuthentication para que fuera falsa y el modo windowsAuthentication en verdadero.

               

En Visual Studio 2013 Y VS15 (pero supongo que si es el mismo para todas las demás versiones) solo presione F4 y cambie estas dos propiedades: – Autenticación anónima: DeshabilitarAutenticación de Windows: habilitar

En VS2013 F4 en su proyecto para ver la ventana de propiedades y deshabilitar el acceso anónimo y habilitar la “autenticación de Windows”

Entonces funcionará. No es necesario cambiar nada más

VS 2015 cambia esto. Agregó una carpeta .vs a mi proyecto web y el applicationhost.config estaba ahí. Hice los cambios sugeridos (autenticación de ventana = verdadero, anónimo = falso) y comenzó a entregar un nombre de usuario en lugar de un espacio en blanco.

Abra el archivo applicationHost.config ubicado en la carpeta C: \ Users [userid] \ Documents \ IISExpress \ config. Dentro de este archivo cambie el overrideModeDefault de anonymousAthentication y windowsAuthentication a “Permitir”

   

Luego cambie lockItem para que sea “falso” para AnonymousAuthenticationModule y WindowsAuthenticationModule

                   

Hacer estos cambios permitirá que las configuraciones de configuración web existentes anulen lo que está en el archivo applicationHost para IIS Express.

También puede modificar las propiedades del proyecto para su proyecto web, seleccione “Web” en las tabs de la izquierda, luego cambie los Servidores desplegables a “IIS local”. Cree un nuevo directorio virtual y use el administrador de IIS para configurar su sitio / grupo de aplicaciones como lo desee.

Prefiero este método, ya que normalmente tendrías un directorio v (o un sitio) IIS local para realizar pruebas localmente. No afectará a ningún otro sitio de esta manera tampoco.

Propiedades del proyecto web

Parece que la respuesta correcta es proporcionada por user3149240 arriba. Sin embargo, como señaló Neil Watson, el archivo applicationhost.config está en juego aquí.

Los cambios se pueden realizar realmente en el panel de Propiedades VS o en el archivo aunque en un lugar diferente. Cerca de la parte inferior del archivo applicationhost.config hay un conjunto de elementos de ubicación. Cada aplicación para IIS Express parece tener uno de estos. Al cambiar la configuración en la interfaz de usuario se actualiza esta sección del archivo. Por lo tanto, puede cambiar la configuración a través de la interfaz de usuario o modificar este archivo.

Aquí hay un ejemplo con anonymous auth off y Windows auth on:

           

Esto es equivalente en la interfaz de usuario VS a:

 Anonymous Authentication: Disabled Windows Authentication: Enabled