加载资源失败:服务器响应状态为 401(未授权)/App/AngularJS/angular.min.js

Posted

技术标签:

【中文标题】加载资源失败:服务器响应状态为 401(未授权)/App/AngularJS/angular.min.js【英文标题】:Failed to load resource: the server responded with a status of 401 (Unauthorized) /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 文件的文件夹允许公共访问。只需转到该文件夹​​,转到属性,安全并查看权限。 【参考方案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】:

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

【讨论】:

以上是关于加载资源失败:服务器响应状态为 401(未授权)/App/AngularJS/angular.min.js的主要内容,如果未能解决你的问题,请参考以下文章

Web 窗体 Azure 活动目录:加载资源失败:服务器响应状态为 401

一般的响应状态码

未经授权的访问 - mapbox:服务器响应状态为401

Http常见状态码

HTTP状态码介绍

400/404等状态码含义