我遇到以下错误:
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 Unauthorized access)时,这意味着匿名 IIS 用户帐户由于权限问题而无法访问资源。
默认情况下,IUSR 账户用于匿名用户。
您需要做的就是:
IIS ->
身份验证-->
将匿名身份验证设置为应用程序池身份。
问题解决了:)
我还设置了“IUSR”和“IIS_IUSR”的读/写/修改访问权限 整个项目的用户。
这足以让我解决同样的问题。
PS。抱歉使用您的图片,只是想强调您提到的对我有用的步骤。
假设您正在使用表单身份验证并且您尝试在登录前获取它。您可以在 web.config 文件中使用以下内容
<configuration>
。
<location path="AngularJS">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
它将使您无需登录即可使用
AngularJS
文件夹中的文件
嗯,
这很奇怪,但它有效。解决方案是在 IIS 中设置“连接为”的默认用户。请参阅下面的图片。
我指定了管理员用户,这开始在 IIS 中工作。我认为这是 AngularJS 在 IIS 上工作的某种要求。
感谢您的回复。
当您将 IUSR 添加到应用程序文件夹安全性中时,它将起作用。
我遇到了这个问题并禁用了我的 VPN,问题就解决了。
@Qasim Bataineh - 谢谢!
我正在调试有问题的代码,当简单的 F5 重新加载后,在开发中完美运行的应用程序停止为开发中的所有 401 工作。
绝对世界如何?
不管怎样,现在已经修复了。
再次感谢卡西姆。今天你是超级明星。