次のエラーが発生しています。
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)です。このプロジェクトでは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」ユーザーに読み取り/書き込み/変更アクセスを設定しました。
しかし、IISでも同じ例外が発生します。しかし、VS2013でも同じように動作します。
エラー:
サーバーがアクセス拒否メッセージ(401 Unauthorized access)で応答する場合、匿名IISユーザーアカウントはアクセス許可の問題のためリソースにアクセスできないことを意味します。
デフォルトでは、匿名ユーザーにはIUSRアカウントが使用されます。
あなたがする必要があるのは:
IIS->
認証->匿名認証をアプリケーションプールIDに設定します。
問題が解決しました :)
また、プロジェクト全体の「IUSR」および「IIS_IUSR」ユーザーに読み取り/書き込み/変更アクセスを設定しました。
これで同じ問題を回避できました。
PS。あなたの画像を使用して申し訳ありませんが、私のために働いたあなたが言及したステップを強調したいだけです。
まあ、
奇妙ですが、うまくいきました。解決策は、IISで「接続」のデフォルトユーザーを設定することでした。以下の画像をご覧ください。
管理者ユーザーを指定すると、これがIISで機能し始めました。これは、AngularJSがIIS上で動作するための何らかの要件だと思います。
返信いただきありがとうございます。
フォーム認証を使用しており、ログイン前に取得しようとしていると仮定します。 <configuration>
内のweb.configファイルで次を使用できます。
<location path="AngularJS">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
ログインせずにAngularJS
フォルダー内のファイルを使用可能にします
IUSRをアプリケーションフォルダーセキュリティに追加すると機能します。