500 Error al usar una cuenta personalizada para el grupo de aplicaciones en IIS 7

11

Tengo un sitio muy simple con solo archivos estáticos en IIS 7 en Windows Server 2008 SP2.

Cuando intento acceder a cualquier archivo estático, aparece un error 500. Si cambio el nombre de un archivo html para que tenga una extensión aspx, funciona bien.

El sitio también funciona bien cuando se usa la identidad integrada para el grupo de aplicaciones. El problema ocurre cuando cambio a usar una cuenta personalizada para el grupo de aplicaciones. He intentado usar cuentas locales y de dominio para ejecutar el grupo de aplicaciones.

Le he dado el control total a estas cuentas en el directorio y los archivos del sitio web.

Al
activar el rastreo, se muestra este mensaje de error: ModuleName:
Notificación del núcleo web de IIS : 2
HttpStatus: 500
HttpReason: Internal Server Error
HttpSubStatus: 0
ErrorCode: 2147943746
ConfigExceptionInfo
Notification: AUTHENTICATE_REQUEST
ErrorCode: O no se proporcionó un nivel de suplantación requerido o el nivel de suplantación proporcionado es inválido. (0x80070542)

No he tenido suerte con googlear el código de error.

Duende
fuente

Respuestas:

9

Prolem resuelto: faltaba el grupo IIS_IUSRS en el "suplantar a un cliente después de la autenticación" en la política de seguridad local.

Duende
fuente
Trabajó para mí, gracias! Pero además, aquí está cómo hacerlo paso a paso para tontos como yo: Inicio> Local> Política de seguridad> Políticas locales> Asignación de derechos de usuario> Suplantar a un cliente después de la autenticación> Agregar usuario o grupo ...> Seleccione IIS_IUSRS
Wowe
1

puede intentar cambiar el grupo de aplicaciones para esta aplicación virtual y otorgar permisos personales para este nuevo grupo

para otorgar permisos para un grupo específico solo otorgue permisos para el usuario "IIS APPPOOL \ YOUR_POOL_NAME"

MNK_real
fuente
0

Además de la respuesta de Brownie (es correcto, debe otorgar este derecho a la cuenta del grupo de aplicaciones); si IIS le envía este error cuando lo llama utilizando un cliente WCF (+ la autenticación de Windows está habilitada en IIS), puede deberse a que las marcas del token NTLM otorgado a IIS no le permiten suplantar a la persona que llama.

Modifique la configuración de su cliente desde esto (el valor predeterminado):

<behavior name="NewBehavior">
  <clientCredentials>
    <windows allowedImpersonationLevel="Identification" />
  </clientCredentials>
</behavior>

A esto:

<behavior name="NewBehavior">
  <clientCredentials>
    <windows allowedImpersonationLevel="Impersonation" />
  </clientCredentials>
</behavior>

Consulte este artículo para obtener detalles: Suplantación y delegación en WCF

Matthieu
fuente