【问题标题】:Web.config location tag stops working when deployed to ServerWeb.config 位置标记在部署到服务器时停止工作
【发布时间】:2011-07-23 04:50:12
【问题描述】:

提前非常感谢。运行 ASP.NET 开发服务器时,一切正常。但是,当我将我的 asp.net 应用程序部署到生产服务器(IIS 7.0 集成模式,全新安装)时,我的 web.config 文件中的位置标记将被忽略。

举个例子:我正在使用表单身份验证,当用户到达我的 login.aspx 页面时,没有加载外部 css 和 js 文件......即使我已经指定这些文件应该可用给所有用户(无论是否经过身份验证)。 但是,一旦用户登录,文件实际上会加载。

<authentication mode="Forms">
  <forms loginUrl="~/Account/Login.aspx" timeout="2880" />
</authentication>
<authorization>
  <deny users="?" /> <!-- Restrict anonymouse user access -->
</authorization>

我的 css 文件例外...

  <location path="Styles/xtools.css">
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
  </location>

我已验证 css 文件的路径是准确的。有什么建议吗?

谢谢,--丹

--编辑 忘了提一下,我也尝试在目标文件夹中创建一个 web.config 文件......仍然无法正常工作。

【问题讨论】:

  • IIS 使用的计算机帐户是否对包含 CSS 和 JS 文件的文件夹具有安全权限。 ASP.NET 开发服务器在当前用户帐户下运行,对于开发人员而言,该帐户几乎总是对运行它的机器上的所有内容拥有权限。 IIS 使用的用户帐户(由于它使用表单身份验证,因此您没有使用 Active Directory 或计算机帐户来运行)通常受到相当限制,可能需要被授予对文件夹的访问权限。
  • 即使在用户登录后,这不会阻止文件加载吗? -- 用户登录后会加载文件。(抱歉,忘记提及,编辑帖子以反映)
  • 更新——这些文件夹实际上确实有 IIS_USRS 组/用户名,可以在其安全选项卡中完全控制。还是不行。
  • 我认为您也应该尝试授予匿名帐户 IUSR 的访问权限。检查这个:forums.iis.net/p/1173012/1961218.aspx

标签: asp.net web-config location


【解决方案1】:

刚刚收到。对包含应用程序的文件夹授予 IIS_IUSRS 权限是不够的……我还需要授予 IUSR 权限。

问题解决了。谢谢,本夫!

【讨论】:

    猜你喜欢
    • 2013-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-20
    • 1970-01-01
    • 2021-06-01
    • 2013-07-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多