¿Eliminar HttpModule para una ruta específica en la aplicación ASP.NET/IIS 7?

¿Eliminar HttpModule para una ruta específica en la aplicación ASP.NET/IIS 7?

De manera más sucinta, mi pregunta es si una aplicación ASP.NET 4.0 que se ejecuta en modo integrado IIS 7 debería poder respetar esta parte de mi archivo Web.config:

  <location path="auth/windows">
    <system.webServer>
      <modules>
        <remove name="FormsAuthentication"/>
      </modules>
    </system.webServer>
  </location>

Estoy experimentando con la autenticación en modo mixto (Windows y Forms). Usando el Administrador de IIS, deshabilité la autenticación anónima en auth/windows/winauth.aspx, que se encuentra dentro de la ruta de ubicación anterior. He configurado el seguimiento de solicitudes fallidas para rastrear varios códigos de estado HTTP, incluidos los 302.

Cuando solicito la página winauth.aspx, se devuelve un código de estado HTTP 302. Si miro el seguimiento de la solicitud, puedo ver que AnonymousAuthenticationModule generó originalmente un 401 (no autorizado). Sin embargo, FormsAuthenticationModule lo convierte a 302, que es lo que ve el navegador. Entonces parece que mi intento de eliminar ese módulo de la canalización para las páginas en esa ruta no está funcionando. Pero no veo ninguna queja en ninguna parte (visor de eventos, páginas amarillas de la muerte, etc.) que indique que es una configuración no válida. Quiero que el 401 se devuelva al navegador, que presumiblemente incluiría un encabezado WWW-Authenticate apropiado.

Algunos otros puntos: a) tengo <authentication mode="Forms">en mi Web.config, y eso es a lo que redirige el 302; b) Obtuve el "nombre" del módulo que estoy intentando eliminar del archivo inetserv\config\applicationHost.config; c) Tengo este elemento en mi archivo Web.config <modules runAllManagedModulesForAllRequests="false">:; d) Probé un <location>elemento para la ruta en el que configuré el modo de autenticación en "Ninguno", pero apareció una página de excepción amarilla que indica que la propiedad no se puede configurar por debajo del nivel de la aplicación.

¿Alguien tuvo suerte eliminando módulos de esta manera?

información relacionada