Определите, требует ли текущая страница авторизации?

Так, у меня есть веб-приложения с 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, но удивительно это событие стреляет даже для ресурсов, которые предоставляют анонимный доступ.

Какие-либо идеи? Спасибо за чтение!

6
задан internet man 2 August 2010 в 18:42
поделиться