Error de autorización para las solicitudes al documento predeterminado en IIS 7.0 y versiones posteriores

Este artículo le ayuda a resolver el problema en el que la autorización no funciona para las solicitudes a un documento predeterminado en Microsoft Internet Information Services (IIS) 7.0 y versiones posteriores.

Versión del producto original:   Internet Information Services 7.0 y versiones posteriores
Número KB original:   2620604

Síntomas

Imagina la siguiente situación: Tiene un servidor web que ejecuta IIS 7.0 o una versión posterior. El servidor web hospeda una ASP.NET web 4.0 configurada para usar la autenticación de formularios y un documento predeterminado. Instale la actualización de dirección URL sin extensión descrita en el artículo de Microsoft knowledge base KB980368 Hay disponible una actualización que habilita determinadas IIS 7.0 o IIS 7.5 en el servidor web. Después de instalar esta actualización, las solicitudes HTTP enviadas a la raíz de la aplicación web producirán un error y los usuarios se verán obligados a volver a autenticarse, aunque el documento predeterminado esté establecido para permitir a los usuarios a través de la sección del archivo de configuración de <authorization> IIS.

Causa

En este escenario, las secciones pertinentes de la configuración de IIS tendrán un aspecto similar al siguiente:

<system.web>
    <authentication mode="Forms">
        <forms name="FormsCookie" defaultUrl="Home.aspx" loginUrl="Login.aspx" path="/" />
    </authentication>
    <authorization>
        <deny users="?" />
        <allow users="*" />
    </authorization>
</system.web>
<location path="Default.aspx">
    <system.web>
        <authorization>
            <allow users="*" />
        </authorization>
    </system.web>
</location>

Antes de instalar la actualización de dirección URL sin extensión en KB980368, cuando se envía una solicitud a la raíz del sitio, el controlador de archivos estático de IIS actuará primero y redirigirá la solicitud al documento predeterminado configurado. Por ejemplo, si el documento predeterminado se establece en default.aspx y el nombre del sitio es , el envío de una solicitud a enviará automáticamente http://www.contoso.com al usuario a http://www.contoso.com http://www.contoso.com/default.aspx . A continuación, ASP.NET se reproducirá debido a la extensión .aspx de la dirección URL de la solicitud y servirá default.aspx al usuario de acuerdo con la configuración de autorización en la sección de etiquetas del archivo de <location> configuración.

Una vez instalada la actualización de dirección URL sin extensión en KB980368, el controlador de direcciones URL sin extensiones de ASP.NET actuará primero para que la solicitud sea http://www.contoso.com . ASP.NET determina que la dirección URL requiere autenticación, por lo que el usuario se redirige a la página de inicio de sesión de autenticación de formularios antes de que el controlador de archivos estático de IIS tenga la oportunidad de solicitar el documento predeterminado.

Solución alternativa

Si la aplicación web no requiere la característica url sin extensión, los controladores comodín se pueden quitar de forma segura de la configuración de la aplicación. En el Administrador de IIS, en la sección Asignaciones de controladores de la aplicación, quite los siguientes controladores:

  • ExtensionlessUrl-Integrated-4.0
  • ExtensionlessUrl-ISAPI-4.0_32bit
  • ExtensionlessUrl-ISAPI-4.0_64bit

Más información

Para obtener más información, vea An update is available that enables certain IIS 7.0 or a later version handlers to handle requests whose URLs do not end with a period.