Cómo establecer los permisos de archivo correctos para ASP.NET en IIS

HTTP Error 500.19 – Error interno del servidor No se puede acceder a la página solicitada porque los datos de configuración relacionados para la página no son válidos.

Código de error : 0x80070005
Error de configuración : no se puede leer el archivo de configuración debido a permisos insuficientes

Cuando agregue una nueva aplicación web en IIS 7.5 y la ejecute, esta página me mostrará cómo resolver este problema. Win7 ultimate visual studio 2010

enter image description here

El mensaje es claro.

No se puede leer el archivo de configuración debido a permisos insuficientes

Cómo resolverlo.

Cada aplicación asp.net se ejecuta en un grupo asignado a él , y cada grupo se ejecuta bajo una cuenta específica .

Abra el IIS, ubique el grupo en el que intenta ejecutar su aplicación, consulte al usuario que está asignado a ese grupo y otorgue permisos de lectura a ese usuario en el árbol de directorios de su sitio completo.

Especial para la web.config

El archivo web.config , es el configuration file que dice el mensaje, debe tener (y) permisos de escritura .

Así que ubicas web.config en la raíz de tu sitio, haz clic derecho sobre él, ve a permisos y dale al usuario de la agrupación, la capacidad de escritura. El usuario de la agrupación es el usuario bajo el que se ejecuta el grupo, como explico a continuación.

Más detalles

Para poder ejecutar un sitio asp.net público con IIS, cada archivo en el directorio debe tener permisos para dos cuentas.

Una cuenta que está permitida para el acceso público y la cuenta que se asignó a ese grupo de aplicaciones.

Para encontrar / asignar la primera cuenta, vaya a su sitio iis | Autenticación | Edite, y vea o modifique como lo ve en esa captura de pantalla.

Ahora tenga en cuenta ese nombre y vamos a encontrar el usuario debajo con la ejecución del grupo.
Vaya a su sitio IIS y haga clic en Configuración básica para encontrar el nombre del grupo, luego vaya a IIS | Grupos de aplicaciones y vea la columna Identidad, y anote el nombre del usuario debajo de la página donde se ejecuta su sitio.

Ahora que tenemos los dos nombres de usuario vamos a la raíz del sitio y establecemos el mínimo de permisos que es la lectura como

Algunas notas

  • Si el IIS_Public_ACCESS_USER no da permiso de lectura, se ejecuta el sitio, pero solicite una contraseña
  • En algunos directorios necesita y escribe permisos, si permite, por ejemplo, que sus usuarios carguen imágenes o que mantengan en App_Data algunos archivos de la base de datos. Solo para los directorios que proporcione y los permisos de escritura para IIS_POOL_USER.
  • Algunos directorios, como App_Data y App_Code tienen protección directa de asp.net y no permiten que nadie del lado del cliente se ejecute o vea cuál está allí.
  • En el directorio público que permite el acceso de escritura a su usuario, agregue un web.config y deshabilite totalmente toda la ejecución de archivos asp.net.

Más para leer para los directorios que otorgan permisos de escritura. Me han pirateado. Evil aspx archivo cargado llamado AspxSpy. Aún lo están intentando. ¡Ayúdame a atraparlos!

Parece que su IIS_User no tiene los permisos necesarios para acceder a su sitio web en C: \ Users …. \ Visual Studio 2012 \ Sitios web … También asegúrese de que su aplicación ejecute la versión .NET correcta (2.0, 4.0 , …)