我不知道这是应用程序配置问题还是IIS问题。如果 要在ServerFault上运行,请原谅我。
我有一个ASP.NET MVC应用程序(我认为MVC是无关紧要的,但无论如何)。我在Windows 7开发计算机上与在我的Server 2008计算机上获得了不同的身份验证行为。基本上,服务器行为是所希望的,但Windows 7行为似乎忽略了我的web.config中的指令。我在web.config中有表单身份验证集和匿名用户被拒绝。然后,为了使登录页面能够显示图形,CSS等,我有一个标签设置允许所有用户进入我的/ Content文件夹,其中包含所述图形,CSS等。这个想法是表单身份验证不不会干扰静态内容。
当用户作为表单身份验证的正常部分转发到登录页面时,发生的情况是,在服务器上页面正常,但在Windows 7计算机上,不显示任何图形或CSS。当我检查这些图形的直接URL时,结果表明每个图形请求也被表单身份验证重定向。
这是我的web.config的相关部分:
<configuration>
<location path="Content">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
<system.web>
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" enableCrossAppRedirects="true" defaultUrl="/"/>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</configuration>
有谁能想到为什么在服务器上,这可以按照需要运行?未经身份验证的请求将转发到/ Account / LogOn,但仍然会提供页面图形/ CSS。然而,在开发机器(Windows 7)上,虽然未经身份验证的请求按预期重定向,但/ Content中的图形也是如此?
答案 0 :(得分:1)
我发现了这个问题。需要将“IUSR”添加到用户列表中。