Te recomendamos que pruebes esta solución en un entorno controlado antes de pasarlo a producción, saludos.
Solución:
Después de pasar horas en este problema, a continuación se muestra la solución que funcionó para mí en Windows 7 con IIS 7.5:
La identidad del grupo de aplicaciones asociada con el sitio no era miembro del grupo IIS_IUSRS. Para agregar la identidad del grupo de aplicaciones al grupo, utilicé los siguientes pasos:
- En el menú de inicio, seleccione Ejecutar… ingrese lusrmgr.msc y haga clic en Aceptar.
- Seleccione Grupos.
- Haga doble clic en el grupo IIS_IUSRS.
- Haga clic en el botón Agregar…
- Haga clic en el botón Ubicaciones…
- Seleccione el nombre de su computadora (debe estar en la parte superior de la lista) y haga clic en Aceptar.
- En el cuadro de texto debajo de “Ingrese los nombres de los objetos para seleccionar”, ingrese: iis apppool
por ejemplo, iis apppooldev - Haga clic en el botón Verificar nombres. Si aparece un cuadro de diálogo Nombre no encontrado, verifique que la identidad del grupo de aplicaciones ingresada coincida con la identidad del grupo de aplicaciones asociada con el sitio. Si no aparece un cuadro de diálogo, haga clic en Aceptar.
Repita los pasos 7 a 8 para cada identidad de grupo de aplicaciones que desee agregar. Haga clic en Aceptar.
Ahora la identidad del grupo de aplicaciones es miembro del grupo IIS_IUSRS que ya debería tener acceso al directorio de archivos temporales de ASP.NET. Después de todo, seguía recibiendo el error y descubrí (gracias al monitor de procesos) que se debía a que la identidad del grupo de aplicaciones no podía escribir en el directorio temporal de Windows. Para resolver esto, agregué el grupo IIS_IUSRS al directorio temporal de Windows con permisos de lectura/escritura.
- En el menú de inicio, seleccione Ejecutar… ingrese %windir% y haga clic en Aceptar.
- Haga clic con el botón derecho en el directorio temporal y seleccione Propiedades.
- Haga clic en la pestaña Seguridad.
- Haga clic en el botón Editar….
- Haga clic en el botón Agregar..
- Haga clic en el botón Ubicaciones…
- Seleccione el nombre de su computadora (debe estar en la parte superior de la lista) y haga clic en Aceptar.
- En el cuadro de texto debajo de “Ingrese los nombres de los objetos para seleccionar”, ingrese: iis_iusrs
- Haga clic en el botón Verificar nombres. Si aparece un cuadro de diálogo Nombre no encontrado, compruebe si hay errores tipográficos. Si no aparece un cuadro de diálogo, haga clic en Aceptar.
- Seleccione el grupo IIS_IUSRS agregado y, en el cuadro Permisos para todos a continuación, seleccione: Permitir lectura y Permitir escritura
- Haga clic en Aceptar. Aparecerá un cuadro de diálogo que indica que “Está a punto de cambiar la configuración de permisos en las carpetas del sistema, lo que puede provocar problemas de acceso inesperados y reducir la seguridad. ¿Desea continuar?”
- Haga clic en Sí
- Haga clic en Aceptar
He solucionado este problema al configurar el control total para ‘SERVICIO DE RED’ en la temperatura del sistema:
C:Windowstemp
El mensaje de error informado por el servidor web es un poco engañoso. Espero que esto ayude.
Estuve luchando con este problema por un tiempo. Encontré algunas soluciones en la web que implicaban establecer permisos en el directorio “Archivos temporales de ASP.NET” en el mensaje de error. Pero incluso abrirlo a “Todos” no funcionó.
Luego, finalmente, los siguientes pasos lo arreglaron:
- Vaya a IIS AppPool para este sitio
- Haga clic derecho en el grupo de aplicaciones y vaya a Configuración avanzada
- Cambie la identidad de “ApplicationPoolIdentity” a “NetworkService”
También puede haber algunos otros pasos necesarios, que hice mientras solucionaba problemas, pero este es el key paso. Por algún motivo, la identidad del grupo de aplicaciones (como IIS_APPPOOLSiteName) no tiene acceso cuando “Todos” lo tienen. Estoy seguro de que alguien más puede arrojar algo de luz sobre por qué este es el caso… Espero que esto ayude a otros a resolver este problema frustrante.