我有一个我一直在开发的 MVC 3 应用程序,它使用 Forms 身份验证。在我的 web.config 文件中,我拥有的唯一身份验证代码是:
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>
[Authorize]
然后,我在需要限制访问的每个单独的控制器上使用标签。
我在我的开发机器(Windows 7)、一个在线演示服务器(带有 IIS6.5 的 Windows 2003)和一个本地生产服务器(带有 IIS7.5 的 Windows 2008 Web Edition R2)上运行该系统。
当我在 Win2008 服务器上访问系统时,我按预期重定向到登录页面,但是没有加载任何 CSS 样式表,并且所有图像都丢失(全部位于 Content 文件夹中)。这只发生在 Win2008 服务器、我的本地开发机器和 Win2003 机器上,CSS 和图像加载得很好。
Content 文件夹没有任何限制,实际上它甚至包含自己的 web.config,明确允许未经身份验证的用户访问。我还尝试在主 web.config 中添加一行,允许完全访问内容。
如果我在 Content 文件夹中放置一个 .htm 文件,我可以在浏览器中访问它。但是,如果我尝试访问图像或 .css 文件,我会立即被重定向到登录页面!
我对可能导致这种情况的原因感到困惑。