Проверка подлинности с помощью форм IIS7 не запрещает доступ к изображениям - PullRequest
0 голосов
/ 23 июня 2011

У меня есть базовый веб-сайт ASP.NET, настроенный в IIS7 с включенной аутентификацией форм на сервере. Просто ради ухмылки я всем отказываю:

<?xml version="1.0"?>
<configuration>
  <system.web>

    <authentication mode="Forms">
        <forms name=".ASPXAUTH" loginUrl="Login.aspx" defaultUrl="Test.aspx" protection="All" timeout="30" path="/" requireSSL="false" slidingExpiration="true"/>
    </authentication>

    <authorization>
        <deny users="*"/>
    </authorization>

    <compilation debug="true"/>
  </system.web>
</configuration>

Когда я захожу на страницу default.aspx, меня покорно перенаправляют на страницу Login.aspx. Однако я могу просмотреть файл .txt или .png в корне того же сайта, и он отобразится без проблем.

Это странно, потому что на сервере разработки Cassini доступ к этим файлам заблокирован. Это происходит только после публикации на моем сервере IIS7.

Я, должно быть, что-то упускаю в IIS7, но я не могу понять это ради своей жизни.

  • У меня есть сайт в собственном пуле приложений .NET 4.0 с включенным интегрированным режимом.
  • Проверка подлинности с помощью форм включена на сервере
  • Во всплывающем окне «Редактировать управляемый модуль» для модуля FormsAuthentication я пытался снять флажок «вызывать только для запросов ...», но при этом возникает какая-то странная ошибка (сборка какого-то вида отсутствует? установка свежего сервера без излишеств, поэтому я не могу представить, о чем идет речь.

Кто-нибудь может указать мне правильное направление на это?

Спасибо! Droidilate

1 Ответ

1 голос
/ 31 августа 2011

Прежде всего вы должны использовать интегрированный конвейер, а затем добавить это в ваш web.config:

<system.webServer>
  <modules runAllManagedModulesForAllRequests="false">
    <remove name="FormsAuthenticationModule" />
    <add name="FormsAuthenticationModule" type="System.Web.Security.FormsAuthenticationModule" />

    <remove name="UrlAuthorization" />
    <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" />
  </modules>
</system.webServer>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...