У меня есть сайт asp.net 2.0 (.net3.5) на II6.Это настройка для использования аутентификации форм.Я настроил «aspnet_isapi.dll» как запись в «карте приложения подстановочных знаков» в IIS, чтобы все запросы проходили через asp.net.В web.config я запрещаю всем анонимным пользователям следующие настройки:
<system.web>
<authorization>
<deny users="?"/>
</authorization>
...
</system.web>
Я хотел бы сделать так, чтобы файлы с определенными расширениями (в частности, файлы изображений, такие как .gif, .jpg) недолжны быть аутентифицированы.Эти файлы расположены в разных папках, поэтому простое разрешение для папки с изображениями не будет работать.
Я изменил свой собственный HttpModule для проверки подлинности с помощью форм, чтобы игнорировать все такие запросы и просто возвращать их.Но поскольку он игнорирует эти файлы и не создает принципала, запрос остается анонимным и получает ошибку аутентификации.
В идеале было бы здорово, если бы я мог выполнить одно из следующих действий, но это не похоже на этокое-что, что можно сделать:
1) Позволить нам исключить определенные расширения файлов при настройке сопоставления с подстановочными знаками в IIS.
2) В моем собственном HttpModule для проверки подлинности с помощью форм я могу как-то сказать asp.net, чтобы остановить конвейер обработки asp.net для этого файла или просто остановить аутентификацию для него.
3) Позвольте нам использовать подстановочные знаки в атрибуте пути тега location в web.config, например:
<location path="*.jpg>
<authorization>
<allow users="?"/>
</authorization`>
</system.web`>
Единственное решение, которое я могу придумать, - это удалить сопоставление с подстановочными знаками в IIS и добавить сопоставление расширений приложений по отдельности, чтобы не все запросы обрабатывались asp.net.Но затем я рискую пропустить определенные типы файлов, не говоря уже о том, что было бы утомительно добавлять его отдельно для всех известных типов файлов (за исключением файлов изображений)
Есть идеи?