Condições prévias dos módulos:
O mecanismo principal do IIS usa pré-condições para determinar quando habilitar um módulo específico. Os motivos de desempenho, por exemplo, podem determinar que você deseja executar módulos gerenciados apenas para solicitações que também vão para um manipulador gerenciado. A pré-condição no exemplo a seguir ( precondition="managedHandler"
) ativa apenas o módulo de autenticação de formulários para solicitações que também são tratadas por um gerenciador gerenciado, como solicitações para arquivos .aspx ou .asmx:
<add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" preCondition="managedHandler" />
Se você remover o atributo precondition="managedHandler"
, a autenticação de formulários também se aplicará ao conteúdo que não é servido por manipuladores gerenciados, como .html, .jpg, .doc, mas também para extensões clássicas ASP (.asp) ou PHP (.php). Consulte " Como aproveitar as vantagens do pipeline integrado do IIS " para obter um exemplo de habilitação de módulos ASP.NET para execução de todo o conteúdo.
Você também pode usar um atalho para permitir que todos os módulos gerenciados (ASP.NET) sejam executados para todas as solicitações em seu aplicativo, independentemente da " managedHandler
" condição prévia.
Para permitir que todos os módulos gerenciados sejam executados para todas as solicitações sem configurar cada entrada de módulo para remover a managedHandler
pré-condição " ", use a runAllManagedModulesForAllRequests
propriedade na <modules>
seção:
<modules runAllManagedModulesForAllRequests="true" />
Quando você usa esta propriedade, a " managedHandler
" condição prévia não tem efeito e todos os módulos gerenciados são executados para todas as solicitações.
Copiado da Visão geral dos módulos IIS: condições prévias