web-dev-qa-db-ja.com

リソースのロードに失敗しました:サーバーは401(未承認)/App/AngularJS/angular.min.jsのステータスで応答しました

次のエラーが発生しています。

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

プロジェクトはローカルホストで正常に動作します。しかし、IIS(7.5)で実行すると、上記の例外が発生します。

[画像] enter image description here

私のプロジェクトは.net 4.5プロジェクト(Web.API 2.2)です。このプロジェクトではUIにAngularJSを使用しています。

これが解決策として受け入れられたどこかで「aspnet_regiis-i」を実行しようとしました。しかし、私の場合はうまくいきませんでした。 IIS for 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」ユーザーに読み取り/書き込み/変更アクセスを設定しました。 enter image description here

しかし、IISでも同じ例外が発生します。しかし、VS2013でも同じように動作します。

エラー: enter image description here

14
user1400290

サーバーがアクセス拒否メッセージ(401 Unauthorized access)で応答する場合、匿名IISユーザーアカウントはアクセス許可の問題のためリソースにアクセスできないことを意味します。

デフォルトでは、匿名ユーザーにはIUSRアカウントが使用されます。

あなたがする必要があるのは:

IIS->
認証->匿名認証をアプリケーションプールIDに設定します。

問題が解決しました :)

22
Qasim Bataineh

また、プロジェクト全体の「IUSR」および「IIS_IUSR」ユーザーに読み取り/書き込み/変更アクセスを設定しました。 properties image

これで同じ問題を回避できました。

PS。あなたの画像を使用して申し訳ありませんが、私のために働いたあなたが言及したステップを強調したいだけです。

4
AceMark

まあ、

奇妙ですが、うまくいきました。解決策は、IISで「接続」のデフォルトユーザーを設定することでした。以下の画像をご覧ください。

enter image description here

管理者ユーザーを指定すると、これがIISで機能し始めました。これは、AngularJSがIIS上で動作するための何らかの要件だと思います。

返信いただきありがとうございます。

1
user1400290

フォーム認証を使用しており、ログイン前に取得しようとしていると仮定します。 <configuration>内のweb.configファイルで次を使用できます。

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

ログインせずにAngularJSフォルダー内のファイルを使用可能にします

1
शेखर

IUSRをアプリケーションフォルダーセキュリティに追加すると機能します。

0
McNiel Viray