Так, у меня есть веб-приложения с web.configs как так:
<authorization>
<deny users="?"/>
</authorization>
...
<location path="SomeUnsecuredPage.aspx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
Другими словами, большинство страниц требует аутентификации и авторизации, но некоторые не делают.
Затем у меня есть IHttpModule, который будет использоваться всеми различными приложениями. Все, что я хочу сделать, проверить, "защищается" ли текущий запрос вообще. Если страница не требует авторизации, я не хочу, чтобы мой IHttpModule сделал что-либо вообще. Я использую FormsAuthentication, и я предполагаю, что FormsAuthentication уже имеет всю эту информацию, кэшируемую где-нибудь, не так ли? Кроме того, так как эта проверка будет работать постоянно, таким образом, это должно будет быть очень быстро.
Я в настоящее время подписываюсь на HttpApplication. AuthorizeRequest, но удивительно это событие стреляет даже для ресурсов, которые предоставляют анонимный доступ.
Какие-либо идеи? Спасибо за чтение!