1

我创建了一个使用 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 代码管理。

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

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

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

4

1 回答 1

2

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

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

另外,runAllManagedModulesForAllRequests 的设置是什么?

参考:模块 runAllManagedModulesForAllRequests=“true” 含义

于 2013-07-01T19:36:19.327 回答