Удостоверьтесь, что IE принимает куки для любой зоны, в которой находится сайт для пользователя. Это - самая частая причина, что один браузер не обнаружится, как аутентифицируется по другому браузеру.
Я понял это вскоре после того, как я задал вопрос - IIS7 использует другую схему для web.config. Корректное место для загрузки модуля теперь:
<system.webServer>
<modules>
<add name="MyModule" type="MySolution.Web.MyHttpModule, MySolution.Web" />
</modules>
</system.webServer>
У меня похожая проблема. Мое решение включало сначала удаление модуля, а затем его повторное добавление в пространство имен system.webServer.
<system.webServer>
<modules>
<remove name="MyModule"/>
<add name="MyModule" type="MySolution.Web.MyHttpModule, MySolution.Web" />
</modules>
</system.webServer>
Это может быть связано с тем, что мы выполняем развертывание на двух разных серверах IIS. один на сервере 2003 (iis 6) и один на сервере 2008 (iis7 +). Таким образом, добавление модуля, казалось, блокировало его загрузку в пространстве имен. Я могу ошибаться здесь ...
7 лет спустя: он не специфичен для версии IIS, он специфичен для режима пула приложений: классический или интегрированный.
<system.webServer><!--for integrated mode-->
<modules>
<add name="modulename" type="blabla.modulenamehere" />
</modules>
</system.webServer>
<system.web><!--for classic mode-->
<httpModules>
<add name="modulename" type="blabla.modulenamehere" />
</httpModules>
</system.web>