В моем проекте ASP.NET есть подкаталог, содержащий служебные файлы. Они нужны коду во время выполнения, но я не хочу, чтобы они были видны в Интернете.
Каков синтаксис файла Web.config для блокировки доступа всех пользователей к одному подкаталогу и всему его содержимому?
В IIS 7 появилась новая функция «фильтрации запросов». Вероятно, вы захотите использовать конфигурацию скрытых сегментов:
<configuration>
<system.webServer>
<security>
<requestFiltering>
<hiddenSegments>
<add segment="BIN"/>
</hiddenSegments>
</requestFiltering>
</security>
</system.webServer>
</configuration>
Это вызывает http: // ваш сайт / bin не быть обслуживаемым (но http: // ваш сайт / двоичный до сих пор работает)
Проверять, выписываться: http://learn.iis.net/page.aspx/143/how-to-use-request-filtering
Ваша проблема в том, что если IIS просто возвращает файлы, ASP.Net никогда не сможет вмешаться. Я считаю, что это можно сделать, включив проверку подлинности на основе форм и сильно возня, но я бы просто переместил файлы за пределы папки wwwroot.
JR
Это должно работать:
<configuration>
<location path="FolderName">
<system.web>
<authorization>
<deny users="*"/>
</authorization>
</system.web>
</location>
</configuration>