2011-09-27 5 views
8

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.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

Si hago un rastro en las solicitudes con error, me sale 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 que tienen el grupo de aplicaciones de usuario, (usuario de dominio), como propietario con permisos completos

Como dije, mi sitio no está roto, pero me pregunto si tengo un problema con mi configuración.

Gracias de antemano.

EDIT: Aquí está una muestra de Fiddler: enter image description here

Respuesta

-1

¿Tiene una web.config en la carpeta de contenido, por casualidad, o cualquier configuración de reglas de autenticación para la carpeta de contenido en su raíz web.config o en cualquier aplicación arriba que podría causar que la herencia de configuración web sea un problema?

+0

No, ninguno en absoluto. – Ryk

0

Desplgé una simple aplicación MVC3 a 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.

Ha intentado habilitar solo la autenticación anónima y anónima además de las formas sin suerte.

Añadido a web.config sin éxito:

<location path="Content">    
    <system.web>    
    <authorization>    
    <allow users="*" />    
    </authorization>    
    </system.web>    
</location> 

módulos de actualización juzgado sin éxito:

<modules> 
    <remove name="UrlRoutingModule-4.0" /> 
    <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" /> 
</modules> 

permisos IIS verificado con acceso al sistema de archivos. Una vez que haya iniciado sesión, el sistema funciona como un campeón.

3

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 la 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.

+0

Hmm, intenté esto también, y no funcionó para mí, aún obtengo los mismos resultados. Sin embargo, utilicé el usuario del grupo de aplicaciones, y verifiqué que tiene permisos completos en todos los directorios y archivos. Incluso lo hice el dueño de todos los objetos. Gracias aunque – Ryk

+0

funcionó para mí. Gracias –

Cuestiones relacionadas