2010-12-22 33 views
6

Lamentablemente no tengo mucha información sobre esto. Tengo un cliente que ha movido su sitio de un antiguo sistema a IIS7 en Windows 2008 Server. Información sobre el error es el siguiente:Permiso IIS7 denegado - Archivo ASP Escritura

error: E: \ wwwroot \ sp \ xxx \ online_data.xls Microsoft VBScript error de ejecución 800a0046

ha denegado el permiso

/xxx/avena/exceldata .asp, línea 52

Código:

49 response.write(server.mappath("online_data.xls")) 
50 
51 set fso = createobject("scripting.filesystemobject") 
52 Set act = fso.CreateTextFile(server.mappath("online_data.xls"), true) 

La única sugerencia que hasta ahora es:

grant the application pool (DefaultAppPool/Classic AppPool)’s impersonated identity read and write permission to the physical folder which the asp page reside

Lo veré cuando tenga acceso, pero se apreciarán otras sugerencias.

+1

Creo que la sugerencia funcionará, otra opción es comprobar si el grupo de aplicaciones predeterminado se está ejecutando como servicio de red y dar acceso al servicio de red para escribir en esa carpeta – kd7

+0

Gracias por las respuestas chicos. Todavía no hay acción en el sitio, pero dará seguimiento cuando regrese. – CMH

Respuesta

3

La sugerencia es correcta. Si la ruta a la solución no es inmediatamente obvia por cualquier motivo de configuración, intente ejecutar el proceso (filtre en "datos_en línea.xls") y vea quién está fallando, por qué y con qué cuenta de usuario se ejecuta. Luego revisa las ACL.

12

La respuesta proporcionada es correcta, pero necesitaba un poco más de detalles sobre cómo lograrlo. Para hacerlo realmente fácil, siga los pasos a continuación. Estaba configurando un contador de páginas asp en un sistema de espacio aislado en nuestra intranet.

  1. Open Computer Management.
  2. profundizar en el servidor IIS Gestión
  3. En el panel Conexiones, haga clic en Grupos de aplicaciones
  4. En el panel Grupos de aplicaciones, haga clic derecho en DefaultAppPool y seleccionar la configuración avanzada. Mire en la sección Modelo de proceso.
  5. De forma predeterminada, la propiedad Identity es establecida en ApplicationPoolIdentity. Esta es una cuenta integrada.
  6. Si está configurado en el valor predeterminado, entonces puede usar el usuario incorporado machinename \ IUSR para su configuración de permisos . Tuve que especificar el nombre de la máquina porque este es un servidor virtualizado, YMMV.
  7. Si no está configurado en el valor predeterminado, use ese nombre de usuario para sus configuraciones de permisos .
  8. Cancele el diálogo y devuelva al Explorador de Windows, a la carpeta donde debe agregar el permiso.
  9. Haga clic con el botón derecho para obtener la configuración de Permiso .
  10. Configure machinename \ IUSR o nombre de usuario no predeterminado que ha determinado en los pasos 6/7 anteriores. Otorgue permisos según sea necesario.

Esta ayudado: http://learn.iis.net/page.aspx/140/understanding-built-in-user-and-group-accounts-in-iis-7/

2

que tenía un problema similar en Windows 7 y mi solución estaba cambiando la autenticación. Desde IIS, seleccione el sitio, vaya a Autenticación, desactive la Autenticación anónima y active la Autenticación de Windows.

0

Pasé un tiempo con algo similar. Incluso con la configuración correcta, no funcionaba.

Intenté crear primero el archivo real en el servidor. Resultó ser el truco que funcionó. Ahora mi página ASP escribe en el archivo existente sin problemas.

Debe ser algo sobre la creación de un nuevo documento desde cero que es otro problema.