2010-05-10 92 views
48

Possible Duplicate:
ASP MVC in IIS 7 results in: HTTP Error 403.14 - Forbidden403 - Prohibido: Acceso denegado. ASP.Net MVC

Publiqué mi aplicación en el servidor. Cuando ingreso mi dominio, recibí este error:

403 - Prohibido: acceso denegado. No tiene permiso para ver este directorio o página utilizando las credenciales que ha proporcionado.

¿Qué ha pasado?

+0

es su iis apuntando al lugar correcto? una vez obtuve este error cuando (erróneamente) señalé una carpeta vacía. – robasta

+0

Esto me ayudó: http://stackoverflow.com/questions/1741439/asp-mvc-in-iis-7-results-in-http-error-403-14-forbidden –

+2

nuestro problema faltaba el archivo global.asax en carpeta de implementación publicada – sasjaq

Respuesta

10

¿Está alojando el sitio en iis? De ser así, asegúrese de que la cuenta en la que se ejecuta su sitio web tenga acceso al sistema de archivos local.

Directamente desde MSDN .....

The Network Service account has Read and Execute permissions on the IIS server root folder by default. The IIS server root folder is named Wwwroot. This means that an ASP.NET application deployed inside the root folder already has Read and Execute permissions to its application folders. However, if your ASP.NET application needs to use files or folders in other locations, you must specifically enable access.

para proporcionar acceso a una aplicación ASP.NET se ejecuta como servicio de red, debe conceder acceso a la cuenta de servicio de red.

para conceder leer, escribir y modificar permisos para un archivo específico

  • En el Explorador de Windows, localice y seleccione el archivo requerido.
  • Haga clic con el botón derecho en el archivo y luego haga clic en Propiedades.
  • En el cuadro de diálogo Propiedades, haga clic en la pestaña Seguridad.
  • En la pestaña Seguridad, examine la lista de usuarios. Si la cuenta de servicio de red
  • no aparece en la lista, agréguela.
  • En el cuadro de diálogo Propiedades, haga clic en el nombre de usuario del servicio de red y en Permisos para el SERVICIO DE RED sección, seleccione Leer, Escribir y Modificar permisos.
  • Haga clic en Aplicar y luego en Aceptar.

Haga clic para obtener más here

3

que tenían el mismo problema (en el servidor Windows 2003), el registro de la consola de IIS si ha permitido la extensión del servicio v4 ASP.NET (bajo extensiones de servicio/NombreEquipo/Web IIS)

10

Además de las respuestas anteriores, también se puede conseguir que el error cuando se ha activado Windows y authenticaton:

  • IIS está apuntando a una carpeta vacía.
  • No tiene un conjunto de documentos predeterminado.
+3

Esto puede suceder incluso con el acceso anónimo habilitado y la autenticación de Windows desactivada si no tiene un conjunto de documentos predeterminado. Por ejemplo, si ejecuta una aplicación php y no tiene index.php habilitado, IIS intentará servir la lista del directorio, que generalmente también está deshabilitada. En ese caso, incluso con el acceso anónimo obtendrá la página prohibida 403. Es una auténtica pita para aquellos que no están familiarizados con IIS porque el 99% de los resultados de búsqueda lo guiarán a la configuración de ACL, como la respuesta de Almagori. –

+1

¡Te amo! Mi solución estaba en realidad en una carpeta de segundo nivel. – Ghost

+0

también puede suceder cuando intenta usar index.php en lugar de index.html, ya que parece que el soporte de PHP generalmente no se implementa por defecto – Fanky

74

Otra cosa que puedes probar es setting the "Run All Managed Modules for All Requests" option en la Web.config de tu aplicación.

<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true"></modules> 
    <handlers> 
     <remove name="UrlRoutingHandler"/> 
    </handlers> 
    </system.webServer> 

Se necesitan los módulos administrados se ejecuten en las solicitudes de entrada si se requiere la autenticación de formularios para acceder a su aplicación, ya que la autenticación de formularios es un módulo administrado. Por lo tanto, si necesita Autenticación de formularios, pero ese módulo no se está ejecutando, IIS simplemente genera un error 403 porque no puede obtener el tipo de autenticación que requiere la aplicación.

+1

Esto funcionó para mí. Me pregunto si tuvo algo que ver con el hecho de que la aplicación que estaba implementando estaba en un subdirectorio y en conflicto con un web.config principal. – Chris

+4

esta no es la solución real. Causa una carga masiva en el servidor – abzarak

+1

De acuerdo con lo que @abzarak mencionó. Ten cuidado de subir la votación de esta respuesta. Esta podría ser una buena solución, pero no una buena solución. – hina10531

8

Acabo de tener este problema, fue porque el sitio de IIS apuntaba al grupo de aplicaciones incorrecto.

Cuestiones relacionadas