Запретить все файлы в каталоге через настройку web.config

В качестве теста я пытаюсь использовать web.config для контроля безопасности следующими способами:

Запретить доступ ко всем файлам в каталоге, кроме определенного файлаРазрешить доступ ко всем файлам в каталоге, кроме определенного файла

Поэтому я настроил web.config следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<configuration>

  <!-- Deny access to all files in a directory, except for a specific file -->
  <location path="NonAccessibleDirectory">
    <system.web>
        <authorization>
          <deny users="?"/>
          <deny users="*"/>
        </authorization>
    </system.web>
  </location>

  <location path="NonAccessibleDirectory/AccessibleFile.html">
    <system.web>
        <authorization>
          <allow users="?"/>
          <allow users="*"/>
        </authorization>
    </system.web>
  </location>

  <!-- Allow access to all files in a directory, except for a specific file -->
  <location path="AccessibleDirectory/NonAccessibleFile.html">
    <system.web>
        <authorization>
          <deny users="?"/>
          <deny users="*"/>
        </authorization>
    </system.web>
  </location>

  <system.web>
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" />
  </system.web>

</configuration>

Как и ожидалось:

Если я перехожу к недоступному каталогу и не указываю файл, я получаю отказ в доступеЕсли я перехожу к доступному каталогу и не указываю файл, я вижу список файлов

Проблемы, которые у меня возникают:

Если я зайду в недоступный каталог и укажу файл, я смогу его просмотреть, и я ожидал, что ему не будет предоставлен доступЕсли я перейду к доступному каталогу и укажу файл, к которому мне запрещен доступ через web.config, я все равно смогу его просмотреть, и я ожидал, что ему не будет предоставлен доступ

Эми, я настраиваю вещи неправильно?

Ответы на вопрос(1)

Ваш ответ на вопрос