ここでの回答が遅れましたが、この IISsue に光を当てたいと思いました。(私が何をしたかわかりますか?)
まず、David Conlisk の答えは、必ず頭の中にあるものを修正する答えであると言いたいです。しかし、あなたが私のようで、匿名認証 ID が IUSR に設定されているフォームと匿名認証を使用して多くのアプリケーションを展開していて、突然この問題が発生した場合は、私がどのように問題を再現したかを聞いてください。同じ苦境を免れた。
私の標準的な方法は、Web アプリケーションの AppPoolIdentity をNetwork Serviceとして実行することです。次に、仮想ディレクトリが指しているディスク上の実際のディレクトリに移動します->右クリック->プロパティ->セキュリティタブ->編集->ネットワークサービスユーザーの追加->読み取り/書き込み権限を付与します。
次に、必要なディレクトリ (js、css など) で匿名認証を有効にします。既定では、アプリ プール ID は IUSR です。
わかった。私の開発環境で突然、すべてのcssとjsで302フォーム認証リダイレクトを取得し始めました! どうしたの?Web アプリケーションで SVN をソース管理の別のブランチに切り替えました。うーん。それは、すべての単一ファイルのディスク上のアクセス許可をすべて完全にジャックしました。私がこれまでに修正できた唯一の方法は、Web アプリ全体を削除し、新たにチェックアウトして、ネットワーク サービスの読み取りアクセス許可を再適用することです (または、すべてのファイルにアクセス許可を適用します... はい、試しました親レベルのフォルダーのアクセス許可を削除して再度追加します)。
そこで今回は、「どうしようもありません。Web アプリをLocal Systemとして実行しています。これにより、上司のディスクのアクセス許可が表示されます。これは、短期的な回避策として時々うまくいきました。」しかし、残念ながら、今日ではありません。私の目の前で、まったく同じ構成のフォーム認証 Web アプリの 2 つの展開を見ていることを誓います。302 問題は私の開発マシンでのみ再現されます。唯一の違いは、私のマシンの最近の SVN スイッチです。
ログインして Forms Auth Cookie を取得するとすぐに、js と css が正常にダウンロードされます。
我慢してください、私は衝撃的な発見をしました。これを展開したすべてのサーバーには、MACHINE_NAME\Users に付与された読み取り権限があります。そして、私の開発マシンはそうではありません。それを開発マシンに追加すると、cssをダウンロードできました。
TLDR;
ストーリーの教訓は、匿名認証 ID を IUSR として保持できることですが、その場合、ディスク上の Web アプリに対する読み取りアクセス許可をすべてのユーザーに付与する必要があります。
これは (セキュリティ上の理由から) 悪い考えであるため、David C の回答を採用し、匿名認証 ID をアプリケーション プール ID として実行することを新しい習慣にします。