我确信这与IIS有关,但我无法弄清楚。
我有一个使用表单身份验证的网站。当我的网站尝试访问任何文件资源(javascript文件、css等)时,我会被重定向到web.config中设置的表单登录页面。如果我只是在地址栏中键入地址,也会被重定向。
forms auth 的web.config条目非常基本:
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>
还有两个位置节点可以拒绝其他部分网站的用户:
<location path="n2">
<system.web>
<authorization>
<allow roles="Editors" />
</authorization>
</system.web>
</location>
<location path="web.config">
<system.web>
<authorization>
<deny users="*" />
</authorization>
</system.web>
</location>
我正在使用Windows Server 2008 R2上的标准IIS7安装。
编辑
因此,如果我添加一个随机的认证cookie (FormsAuthentication.SetAuthCookie()
),资源就变得可用了,我知道一定是我的身份验证模型出了问题。在另一台服务器上它是工作的 (我只是把它复制过来了)。有什么办法可以跟踪问题吗?