IIS Express da error de acceso denegado al depurar ASP.NET MVC
asp.net-mvc debugging (14)
Abrí mi archivo web.config y encontré y eliminé esta sección:
<authorization>
<deny users="?" />
</authorization>
y mi sitio surgió, pero hay emisiones con la autenticación ...
Creé un proyecto ASP.NET MVC 3 y estoy usando IIS Express como servidor web para desarrollar. Cuando intento depurar, aparece el siguiente mensaje de error.
¿Cómo se puede resolver esto?
Error del servidor en la aplicación ''/''.
Acceso denegado. Descripción: se produjo un error al acceder a los recursos necesarios para atender esta solicitud. Es posible que el servidor no esté configurado para acceder a la URL solicitada.
Mensaje de error 401.2 .: no autorizado: el inicio de sesión falló debido a la configuración del servidor. Verifique que tiene permiso para ver este directorio o página según las credenciales que proporcionó y los métodos de autenticación habilitados en el servidor web. Póngase en contacto con el administrador del servidor web para obtener asistencia adicional.
Acabo de solucionar este problema exacto en el que IIS EXPRESS lo arregló editando el host de la aplicación .config en la sección de ubicación específica del siguiente. Había configurado la Autenticación de Windows en Visual Studio 2012, pero cuando ingresé al XML se veía así.
la etiqueta de autenticación de Windows debe agregarse a continuación como se muestra.
<windowsAuthentication enabled="true" />
<location path="MyApplicationbeingDebugged">
``<system.webServer>
<security>
<authentication>
<anonymousAuthentication enabled="false" />
<!-- INSERT TAG HERE -->
</authentication>
</security>
</system.webServer>
</location>
Alojamiento en IIS Express: 1. Haga clic en su proyecto en el Explorador de soluciones para seleccionar el proyecto. 2. Si el panel Propiedades no está abierto, ábralo (F4). 3. En el panel Propiedades para su proyecto: a) Establezca "Autenticación anónima" en "Desactivado". b) Configure "Autenticación de Windows" a "Activado".
En mi caso, tuve que abrir el archivo:
C:/.../Documents/IISExpress/config/applicationhost.config
Tenía esto dentro del archivo:
<authentication>
<anonymousAuthentication enabled="true" User="" />
Acabo de eliminar la parte User=""
. Realmente no sé cómo llegó esto ... :)
Nota: asegúrese de tener algo como esto al final de applicationhost.config
:
.
.
.
<location path="MyCompany.MyProjectName.Web">
<system.webServer>
<security>
<authentication>
<anonymousAuthentication enabled="true" />
<windowsAuthentication enabled="false" />
</authentication>
</security>
</system.webServer>
</location>
</configuration>
También es posible que desee echar un vistazo aquí: https://.com/a/10041779/114029
Ahora puedo acceder a la página de inicio de sesión como se esperaba.
En mi caso, una ejecución previa de mi aplicación de VS reservó la URL. Pude ver esto al ejecutar en una consola:
netsh http show urlacl
para eliminar esta reserva, ejecuté esto en una consola elevada :
netsh http delete urlacl http://127.0.0.1:10002/
Encontré estos pasos here resolví mi problema.
Estoy usando VS2013
He estado luchando con este problema tratando de crear una aplicación simple para SharePoint usando Provider Hosted.
Después de pasar por applicationhost.config, en la sección, basicAuthentication se configuró en falso. Lo cambié a verdadero para pasar el 401.2 en mi escenario. Hay muchos otros enlaces sobre cómo encontrar el applicationhost.config para IIS Express.
La causa, si tuviera este problema, era que IIS Express no permitía la Autenticación de Windows. Esto se puede habilitar configurando
<windowsAuthentication enabled="true">
en el archivo applicationhost.config ubicado en C: / Users [username] / Documents / IISExpress / config.
Ninguno de los anteriores ha funcionado para mí. Esto había estado funcionando para mí antes de hoy. Luego me di cuenta de que había estado trabajando para crear una conexión alojada en mi computadora portátil y que había compartido una conexión a Internet con mi conexión de red inalámbrica.
Para solucionar mi problema:
Vaya a Panel de control> Red e Internet> Conexiones de red
Haga clic con el botón derecho en cualquier conexión de red inalámbrica secundaria que pueda tener (la mía se denominó Conexión de red inalámbrica 2) y haga clic en "Propiedades".
Ve a la pestaña "Compartir" en la parte superior.
Desmarque la casilla que dice ''Permitir que otros usuarios de la red se conecten a través de la conexión a Internet de esta computadora''.
Presione Aceptar> luego Aplicar.
¡Espero que esto ayude!
No vi esta respuesta "completa" en ningún lado; Acabo de ver uno sobre cómo cambiar los números de los puertos después de que publiqué esto, entonces meh.
Asegúrese de que en las propiedades de su proyecto en Visual Studio, la url del proyecto no esté asignada a la misma url o puerto que se usa en IIS para cualquier enlace de sitio.
Estoy buscando el "por qué" para esto, pero mi suposición es que tanto IIS como IIS Express de Visual Studio usan el mismo directorio cuando crean directorios virtuales y Visual Studio solo puede crear nuevos directorios virtuales y no puede modificar cualquiera que IIS haya creado cuando aplica sus enlaces al sitio.
no dude en corregirme sobre el por qué.
Nuestra página de error estaba detrás de la página de inicio de sesión, pero la página de inicio de sesión tenía un error en uno de los controles, lo que crea un bucle infinito.
Eliminamos todos los controles de la página infractora y los volvimos a agregar uno por uno hasta que se localizó y se arregló el control correcto.
Si está utilizando Visual Studio, también puede hacer clic izquierdo en el proyecto en el Explorador de soluciones y cambiar la propiedad Autenticación de Windows a Habilitada en la ventana Propiedades .
También tuve el mismo problema y finalmente pude superarlo.
Solution Explorer
→ Right click on project
→ Properties
→ Web tab
→ Project Url
He elegido otro número de puerto , ¡y todo ha ido bien!
Tuve que ejecutar Visual Studio en Administrative Mode
para deshacerme de este error.