我创建了一个使用 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" />
我无法弄清楚为什么对虚拟目录中静态文件的直接访问不受保护,但对虚拟目录中路径的访问受到保护。有任何想法吗?