El motor central de IIS utiliza condiciones previas para determinar cuándo habilitar un módulo en particular. Las razones de rendimiento, por ejemplo, pueden determinar que solo desea ejecutar módulos administrados para solicitudes que también van a un controlador administrado. La condición previa en el siguiente ejemplo ( precondition="managedHandler"
) solo habilita el módulo de autenticación de formularios para solicitudes que también son manejadas por un manejador administrado, como solicitudes a archivos .aspx o .asmx:
<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" preCondition="managedHandler" />
Si elimina el atributo precondition="managedHandler"
, la Autenticación de formularios también se aplica al contenido que no es administrado por los manejadores administrados, como .html, .jpg, .doc, sino también para las extensiones ASP (.asp) o PHP (.php) clásicas. Consulte " Cómo aprovechar IIS Integrated Pipeline " para ver un ejemplo de cómo habilitar que los módulos ASP.NET se ejecuten para todo el contenido.
También puede usar un acceso directo para permitir que todos los módulos administrados (ASP.NET) se ejecuten para todas las solicitudes en su aplicación, independientemente de la " managedHandler
" condición previa.
Para permitir que todos los módulos administrados se ejecuten para todas las solicitudes sin configurar cada entrada de módulo para eliminar la " managedHandler
" condición previa, use la runAllManagedModulesForAllRequests
propiedad en la <modules>
sección:
<modules runAllManagedModulesForAllRequests="true" />
Cuando utiliza esta propiedad, la " managedHandler
" condición previa no tiene efecto y todos los módulos administrados se ejecutan para todas las solicitudes.