【问题标题】:Forms authentication setting different between Windows 7 and Server 2008?Windows 7 和 Server 2008 的表单身份验证设置不同?
【发布时间】:2011-03-28 17:28:22
【问题描述】:

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

【问题讨论】:

  • 好的,当我将“所有人”添加到 Content 文件夹的安全性时,它就可以工作了。我确实看到了这个:stackoverflow.com/questions/2532079/…。但是,我添加了应用程序池的帐户(IIS APPPOOL\DefaultAppPool),这不起作用。

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-25
    • 2013-10-30
    • 1970-01-01
    • 2020-06-21
    相关资源
    最近更新 更多