【问题标题】:Failed to load resource: the server responded with a status of 401 (Unauthorized) /App/AngularJS/angular.min.js加载资源失败:服务器响应状态为 401(未授权)/App/AngularJS/angular.min.js
【发布时间】:2014-11-16 09:35:28
【问题描述】:

我遇到以下错误:

Failed to load resource: the server responded with a status of 401 (Unauthorized) http://localhost/App/AngularJS/angular.min.js

该项目在本地主机上运行良好。但是当我在 IIS (7.5) 上运行它时,我得到了上述异常。

[图片]

我的项目是 .net 4.5 项目(Web.API 2.2),我在这个项目中使用 AngularJS 作为 UI。

我曾尝试在某处运行“aspnet_regiis -i”作为解决方案。但它在我的情况下不起作用。我不知道在 IIS 上为 Web.API 项目执行 [AngularJS].js 文件有什么要求吗?

编辑:

我对 web.config 文件进行了以下更改:

<location path="AngularJS">
<system.web>
  <authorization>
    <allow users="*" />
  </authorization>
</system.web>
</location>  
<system.web>
  <authorization>
    <allow users="*" />
  </authorization>
  <compilation debug="true" targetFramework="4.5" />
 <httpRuntime targetFramework="4.5" />
</system.web>

我还为整个项目的“IUSR”和“IIS_ISURS”用户设置了读/写/修改权限。

但我仍然在 IIS 上遇到相同的异常。但在 VS2013 上运行良好。

错误:

【问题讨论】:

  • 401 是一个授权异常。您应该登录并且用户应该有权访问文件夹 app/angularjs 或应在上述文件夹上启用匿名访问。
  • 确保保存 angularjs 文件的文件夹允许公共访问。只需转到该文件夹​​,转到属性,安全并查看权限。

标签: asp.net angularjs asp.net-web-api iis-7.5


【解决方案1】:

当服务器响应拒绝访问消息(401 Unauthorized access)时,这意味着匿名 IIS 用户帐户由于权限问题而无法访问资源。

默认情况下,匿名用户使用IUSR帐户。

您需要做的就是:

IIS ->
认证 --> 将匿名身份验证设置为应用程序池标识。

问题解决了:)

【讨论】:

  • 我正在使用IIS express - 我的步骤会有什么不同吗?我猜你的步骤IIS -&gt;Authentication --&gt; Set Anonymous Authentication to Application Pool Identity 是在 IIS 配置管理器中完成的,但我不确定我是否有类似的工具用于IIS Express
【解决方案2】:

我还为“IUSR”和“IIS_IUSR”设置了读/写/修改权限 整个项目的用户。

这足以让我解决同样的问题。

PS。抱歉使用了你的图片,只是想强调你提到的对我有用的步骤。

【讨论】:

    【解决方案3】:

    假设您正在使用表单身份验证,并且您尝试在登录前获取它。您可以在 &lt;configuration&gt; 内的 web.config 文件中使用以下内容。

    <location path="AngularJS">
     <system.web>
      <authorization>
        <allow users="*" />
      </authorization>
    </system.web>
    </location>
    

    它将使您无需登录即可使用AngularJS文件夹中的文件

    【讨论】:

    • 我已经尝试过您的建议,但它对我不起作用,请参阅我的编辑。
    【解决方案4】:

    嗯,

    这很奇怪,但它有效。解决方案是在 IIS 中为“连接为”设置默认用户。见下图。

    我指定了管理员用户,这开始在 IIS 中工作。我认为这是 AngularJS 在 IIS 上工作的某种要求。

    感谢您的回复。

    【讨论】:

      【解决方案5】:

      当您将 IUSR 添加到应用程序文件夹安全性时,它将起作用。

      【讨论】:

        【解决方案6】:

        我遇到了这个问题并禁用了我的 VPN,它已经解决了。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-01-29
          • 2016-02-25
          • 2015-04-16
          • 1970-01-01
          • 1970-01-01
          • 2019-03-15
          • 1970-01-01
          • 2018-08-02
          相关资源
          最近更新 更多