Как я защищаю статические файлы с аутентификацией формы ASP.NET на IIS 7.5?

У меня есть веб-сайт, работающий на сервере IIS 7.5 с ASP.NET 4.0 на общем хосте, но в полном доверии.

Сайт является основным "файловым браузером", который позволяет посетителям входить и иметь список в наличии файлов им отображенный, и, очевидно, загружать файлы. Статические файлы (главным образом файлы PDF) расположены в sub папке на сайте, названном данными, например, http://example.com/data/...

Сайт использует аутентификацию формы ASP.NET.

Мой вопрос: Как я заставляю механизм ASP.NET обрабатывать запросы для статических файлов в папке данных, так, чтобы запрос на файлы аутентифицировался ASP.NET, и пользователи не могут к внешней ссылке к файлу и захватывают файлы, которые им не позволяют иметь?

С наилучшими пожеланиями, Egil.

34
задан Sameer 14 July 2016 в 22:22
поделиться

1 ответ

Если пул приложений работает в интегрированном режиме, вы можете сделать следующее.

Добавьте следующее в файл web.config верхнего уровня.

  <system.webServer>
    <modules>
      <add  name="FormsAuthenticationModule"  type="System.Web.Security.FormsAuthenticationModule" />
      <remove  name="UrlAuthorization" />
      <add  name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule"  />
      <remove  name="DefaultAuthentication" />
      <add  name="DefaultAuthentication"  type="System.Web.Security.DefaultAuthenticationModule" />
    </modules>
  </system.webServer>

Теперь вы можете использовать стандартные разрешения ASP.NET в файле web.config для принудительной проверки подлинности форм для всех файлов в каталоге.

<system.web>
    <authorization>
        <deny users="?" />
    </authorization>
    <authentication mode="Forms" />
</system.web>
46
ответ дан 27 November 2019 в 16:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: