Windows 7和Server 2008之间的表单身份验证设置不同?

时间:2010-08-12 03:16:05

标签: iis-7 windows-7 forms-authentication

我不知道这是应用程序配置问题还是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中的图形也是如此?

1 个答案:

答案 0 :(得分:1)

我发现了这个问题。需要将“IUSR”添加到用户列表中。