为什么IIS允许访问MVC站点上的静态文件?

时间:2013-07-01 15:48:16

标签: asp.net-mvc wif

我创建了一个使用Windows Identity Foundation进行身份验证的简单MVC 4网站。使用默认文件访问静态内容时,身份验证工作正常,但在访问特定文件时,无需进行身份验证即可授予用户访问权限。例如,静态内容的路径: https://test.wgint.com/help/robohelp/fmsuserguide 转发到AD FS服务器进行身份验证 但 https://test.wgint.com/help/robohelp/fmsuserguid/login_support.htm 允许访问而无需转发到AD FS服务器。

路径'robohelp'是MVC站点之外的虚拟目录,不直接由MVC代码管理。

网络配置由“身份和访问”工具设置:

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

我无法弄清楚为什么直接访问虚拟目录中的静态文件不受保护,但是对虚拟目录中的路径的访问受到保护。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

IIS中的处理程序映射是什么样的?

静态文件应与.aspx具有相同的映射。否则,他们将无法被定向到WIF处理程序。

此外,runAllManagedModulesForAllRequests的设置是什么?

参考:Modules runAllManagedModulesForAllRequests=“true” Meaning