web-config - una - no se puede iniciar el servidor web de iis express visual studio 2017
Problema de autenticación al depurar en VS2013-iis express (8)
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"
<sectionGroup name="security">
<section name="access" overrideModeDefault="Deny" />
<section name="applicationDependencies" overrideModeDefault="Deny" />
<sectionGroup name="authentication">
<section name="anonymousAuthentication" overrideModeDefault="Allow" />
<section name="basicAuthentication" overrideModeDefault="Deny" />
<section name="clientCertificateMappingAuthentication" overrideModeDefault="Deny" />
<section name="digestAuthentication" overrideModeDefault="Deny" />
<section name="iisClientCertificateMappingAuthentication" overrideModeDefault="Deny" />
<section name="windowsAuthentication" overrideModeDefault="Allow" />
</sectionGroup>
Luego cambie lockItem para que sea "falso" para AnonymousAuthenticationModule y WindowsAuthenticationModule
<system.webServer>
<modules>
<!--
<add name="HttpCacheModule" lockItem="true" />
-->
<add name="DynamicCompressionModule" lockItem="true" />
<add name="StaticCompressionModule" lockItem="true" />
<add name="DefaultDocumentModule" lockItem="true" />
<add name="DirectoryListingModule" lockItem="true" />
<add name="IsapiFilterModule" lockItem="true" />
<add name="ProtocolSupportModule" lockItem="true" />
<add name="HttpRedirectionModule" lockItem="true" />
<add name="ServerSideIncludeModule" lockItem="true" />
<add name="StaticFileModule" lockItem="true" />
<add name="AnonymousAuthenticationModule" lockItem="false" />
<add name="CertificateMappingAuthenticationModule" lockItem="true" />
<add name="UrlAuthorizationModule" lockItem="true" />
<add name="BasicAuthenticationModule" lockItem="true" />
<add name="WindowsAuthenticationModule" lockItem="false" />
Hacer estos cambios permitirá que las configuraciones de configuración web existentes anulen lo que está en el archivo applicationHost para 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.
<system.web>
<authentication mode="Windows"/>
<identity impersonate="false"/>
<authorization>
<allow users="*"/>
</authorization>
<compilation debug="true" strict="false" explicit="true" targetFramework="4.0"/>
<customErrors mode="Off"/>
</system.web>
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
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: Deshabilitar - Autenticación de Windows: habilitar
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.
<authentication>
<anonymousAuthentication enabled="false" userName="" />
<basicAuthentication enabled="false" />
<clientCertificateMappingAuthentication enabled="false" />
<digestAuthentication enabled="false" />
<iisClientCertificateMappingAuthentication enabled="false">
</iisClientCertificateMappingAuthentication>
<windowsAuthentication enabled="true">
<providers>
<add value="Negotiate" />
<add value="NTLM" />
</providers>
</windowsAuthentication>
</authentication>
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:
<location path="MyApp">
<system.webServer>
<security>
<authentication>
<windowsAuthentication enabled="true" />
<anonymousAuthentication enabled="false" />
</authentication>
</security>
</system.webServer>
</location>
Esto es equivalente en la interfaz de usuario VS a:
Anonymous Authentication: Disabled
Windows Authentication: Enabled
También puede modificar las propiedades del proyecto para su proyecto web, seleccione "Web" en las pestañas 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.
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.