ASP.Net IIS проблема авторизации пути расположения - PullRequest
0 голосов
/ 04 мая 2011

У меня есть веб-сайт, который использует проверку подлинности на основе форм с изображением на главной странице, которое не будет отображаться при публикации на хост-сервере, однако оно будет отображаться при размещении на моем локальном компьютере.Сайт использует веб-формы ASP.Net на платформе 4.0, а в обеих средах используется IIS 7. Кто-нибудь знает, почему это не будет работать при публикации на сервере?Если я перехожу на http://serverwebsiteaddr/images/logo_myworkplace.jpg на сервере, он перенаправляет меня на страницу входа в систему, но изображение корректно отображается, если я перехожу по аналогичному URL-адресу на моем поле для разработчиков http://devmachinenameaddr/images/logo_myworkplace.jpg

. Вот моя конфигурация.файл:

<system.web>
    <authentication mode="Forms">
      <forms loginUrl="~/Account/login.aspx" name=".ASPXFORMSAUTH" slidingExpiration="true"/>
    </authentication>
    <authorization>
      <deny users="?"/>
    </authorization>
</system.web>

<location path="images/logo_myworkplace.jpg">
<system.web>
  <authorization>
    <allow users ="*" />
  </authorization>
</system.web>

Конфигурация сервера: IIS 7.5, Windows Server 2008 R2, Dev Box: IIS 7.5, Windows 7 Enterprise

Ответы [ 4 ]

0 голосов
/ 28 сентября 2011

выстрел в темноте:

Может ли быть, что подпапка изображений сопоставлена ​​с другим пулом приложений, который не находится в интегрированном режиме?

0 голосов
/ 04 мая 2011

У вас может быть параметр сквозного доступа в IIS, который направляет все файлы через .NET HttpHandler. Это полезно для защиты содержимого участников только для всего в каталоге. Если HttpHandler включен для файлов JPG, он сначала запустит правила аутентификации из файла web.config перед доставкой файла. Ваша локальная коробка может не иметь такой настройки.

0 голосов
/ 13 июня 2011

В то время как верхняя папка имеет особые полномочия для защиты своих файлов, я мог бы установить другую авторизацию для своей подпапки, с внутренним web.config. Поэтому я могу без проблем видеть страницы ASPX в этой подпапке.

<?xml version="1.0"?>
<configuration>
    <system.web>
      <identity impersonate="true" />
      <authorization>
        <allow users="*" />
        <deny users="*" />
      </authorization>
    </system.web>
</configuration>
0 голосов
/ 04 мая 2011

Добавьте файл web.config в каталог изображений и вставьте в него следующее. По сути, вы хотите отключить аутентификацию для этого каталога. Это не проверено, кстати. Не уверен, что это сработает.

<configuration>
  <system.web>
    <authentication mode="Forms" />
  </system.web>
</configuration>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...