2013-07-01 2 views
1

Я создал простой веб-сайт MVC 4, который использует Windows Identity Foundation для аутентификации. При доступе к статическому контенту с файлом по умолчанию аутентификация работает нормально, но при доступе к определенному файлу пользователю предоставляется доступ без аутентификации. Например, путь к статическому содержанию: https://test.wgint.com/help/robohelp/fmsuserguide Нападающие к серверу AD FS для аутентификации но https://test.wgint.com/help/robohelp/fmsuserguid/login_support.htm позволяет получить доступ без пересылки к серверу AD FS.Почему IIS разрешает доступ к статическим файлам на сайте MVC?

Путь «robohelp» является виртуальным каталогом с сайта MVC и напрямую не управляется кодом MVC.

Веба-конфигурация была создана с помощью «идентификации и доступа» инструмента:

<system.web> 
    <authorization> 
     <deny users="?" /> 
    </authorization> 
    <authentication mode="None" /> 

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

ответ

2

Как выглядят сопоставления обработчиков в IIS?

Статические файлы должны иметь то же самое отображение, что и .aspx. В противном случае они не будут направлены на обработчик WIF.

Кроме того, что такое настройка для runAllManagedModulesForAllRequests?

Refer: Modules runAllManagedModulesForAllRequests=“true” Meaning.

+0

Не было установлено. Когда я установил runAllManagedModulesForAllRequests = "true", аутентификация начала работать так, как мне было нужно. Спасибо. – Steve

+0

В соответствии с одним [сообщение в блоге] (http://www.britishdeveloper.co.uk/2010/06/dont-use-modules-runallmanagedmodulesfo.html) от Колина Фарра, не используйте runAllManagedModulesForAllRequests = "true" при получении ваша трассировка MVC для работы. Он предлагает специально включить UrlRoutingModule-4.0. –

Смежные вопросы