私はサイトの他の領域でも問題ないイメージリサイザを使用してローカルイメージのサイズを変更していますが、仮想ディレクトリにあるイメージのサイズを変更しようとするとログイン画面が表示されます。 (ログインしても何も変わらない)拡張子 '.ashx'を追加すると、同じ結果が得られる。ImageResizerが仮想ディレクトリのログインリダイレクトをトリガー
このサイトは、IIS 10(統合モード)でホストされており、appPool IDにサイトディレクトリの変更権限が付与されています。仮想ディレクトリは、ネットワークフォルダに対する変更アクセス許可を持つネットワークユーザーを使用しています。デバッグ出力にエラーが表示されない - 要点を投稿しました[here]
サイズ変更のクエリ文字列(image.jpg-width = 100の代わりにimage.jpg)を付けずに仮想ディレクトリ内の画像にアクセスできます。正常に提供されます。しかし、クエリ文字列にリサイズコマンドを追加すると、すぐにログイン画面が表示されます。
私が間違っていることに関する提案はありますか?
おかげで、
AppPoolのIDにネットワークフォルダのアクセス権がありますか?または偽装を有効にしていますか? –
いいえ、appPoolユーザーはローカルアカウントなので、ネットワークフォルダーのアクセス許可に追加することはできません(または方法がわからない)。 ASP.Net偽装は有効になっていませんが、匿名およびフォーム認証が有効になっています。 私のOPでは明らかになっているのですが、仮想ディレクトリではわかりませんが、ネットワーク上のドメインユーザーとして接続しています。私がそれをテストすると、動作しているように思えます(IISの「テスト設定」とクエスチングなしでWebサイトで画像を表示するときの両方) –
AppPoolユーザーアカウントを変更してネットワーク共有にアクセスする必要があります。そうしないと、IISはファイルにアクセスできますが、.NETはアクセスできなくなります。使用するユーザーアカウントを選択することができます - 私は、アプリケーションプール専用のユーザーアカウントを作成し、必要なローカルとリモートのアクセス許可を与えます。 –