Скажем, у меня есть виртуальная папка / topFolder / в IIS7, и в этой папке может быть любой файл, который может быть отображен в браузере (xml, html, swf, doc и т. Д. - обычно «неуправляемые» ресурсы с точки зрения IIS ).
Прежде чем дать разрешение на открытие любого файла ниже папки, мне нужно проверить некоторые переменные сеанса, чтобы проверить, есть ли у пользователя «лицензия» для данной подпапки и файла.
Я пытался реализовать модуль с интерфейсами IHttpModule и IReadOnlySessionState, но Session всегда имеет значение null в событии AcquireRequestState, когда файл "статический" и не управляется IIS (например, aspx, ashx и т. Д.).
Если я использую пользовательский HttpHandler, я получаю сеанс, но затем мне также необходимо реализовать способ отправки содержимого в ответ. Изменить: так как пользователь не загружает файл, я просто хочу, чтобы IIS обслуживал файл так же, как это происходит с его StaticFileModule. Обработчик / модуль действительно должен быть StaticFileModuleWithAuthorizationHook ...
Так что я действительно хочу сделать следующее:
1. Для запроса / topFolder / *: проверьте сессию, лицензии и т. Д.
а) Если все в порядке, продолжайте показ файла
б) Если не в порядке, прервите запрос или просто отправьте ЗАПРЕЩЕНО в ответ.
Надеюсь, кто-то может помочь.