asp.net mvc 3 - IIS 7.5 y MVC 3 con autenticación de Windows: cómo obtener 401 para el contenido estático, pero nunca se le solicitan credenciales
asp.net-mvc-3 model-view-controller (3)
Tengo un sitio MVC 3 ejecutándose en Server 2008 R2 con IIS 7.5. Me pregunto por qué, (usando el violín), sigo obteniendo 401 respuestas en contenido estático seguido inmediatamente por un 302 o un 200? ¿Es esto algo por lo que debo preocuparme? Puedo navegar directamente en mi navegador al contenido que proporciona un 401, y el navegador lo muestra sin pedir credenciales.
Si hago un seguimiento de las solicitudes fallidas, obtengo esto como salida:
ModuleName UrlAuthorization
Notification 4
HttpStatus 401
HttpReason Unauthorized
HttpSubStatus 0
ErrorCode 0
ConfigExceptionInfo
Notification AUTHORIZE_REQUEST
ErrorCode The operation completed successfully. (0x0)
He comprobado todos los directorios y archivos y tienen el usuario del grupo de aplicaciones (usuario de dominio) como propietario con todos los permisos.
Como dije, mi sitio no está roto, pero me pregunto si tengo un problema con mi configuración.
Gracias por adelantado.
EDITAR: Aquí hay una muestra de Fiddler:
¿Tiene una configuración web.config en su carpeta de contenido por casualidad o alguna configuración de reglas de autenticación para la carpeta de contenido en su raíz web.config o en cualquier aplicación anterior que podría causar un problema de herencia de configuración web?
De acuerdo ... Resolví esto de una manera extraña. En IIS 7.5 puede establecer las credenciales que se utilizarán al acceder a la ruta física del sistema de archivos. Parece que por defecto usa una opción de "paso directo" ... de alguna manera esto parece no funcionar incluso cuando IUSR tiene acceso en el sistema de archivos. Hice una cuenta de usuario básica, les concedí lectura en el sistema de archivos, y luego en IIS -> mi sitio web [clic con el botón derecho] -> "Administrar sitio web" -> "Configuración avanzada" y actualicé las credenciales de ruta física.
Curiosamente, los sitios web de Orchard, Sharepoint, tfs y SSRS en el mismo servidor no tenían este problema ... solo mi aplicación MVC3 se ejecutaba desde wwwroot.
Implementé una aplicación MVC3 simple en la ruta web predeterminada en IIS 7.5 / Windows 2008R2 que funciona correctamente en el servidor web de Vis2k10. Al acceder al sitio no autenticado, aunque estoy usando [autorizar] en módulos específicos, conservé el código predeterminado en global.asax.cs, y realmente no he modificado mucho. Cualquier sugerencia sera apreciada.
Intenté habilitar únicamente la autenticación anónima y la autenticación de formularios anónimos sin suerte.
Agregado a web.config sin éxito:
<location path="Content">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
Intentó actualizar los módulos sin éxito:
<modules>
<remove name="UrlRoutingModule-4.0" />
<add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
</modules>
Permisos IIS verificados con acceso al sistema de archivos. Una vez que haya iniciado sesión, el sistema funciona como un campeón.