2011-10-31 11 views
2

私はリモートロケーションにファイルを保存するhttpハンドラを持っています。これを行うには、特定のアクセス許可が必要です。アプリケーション全体が偽装(web.config設定)を使用するように設定されています。IIS7のHTTPハンドラで偽装が動作しない

これはすべてのページで完璧に機能します(他のページも同じ特定のアクセス許可が必要です) httpハンドラのために働くだけで、それは単に偽装しません。

これはIIS6では完璧に機能しますが、IIS7では機能しません。アプリケーションプールモードは古典的です。

+1

これは仕様によるものです。参照してください:http://weblogs.asp.net/drnetjes/archive/2005/06/06/410508.aspx –

+0

@Marco Miltenburg:何が設計によるのですか?私はこの質問を投稿する前にそのブログを読んだことがありますが、それは偽装はHTTPハンドラでは動作しませんが、その理由は言いません。理由を知りたいので、コードを追加する必要はなく、設定を修正することができます。ありがとう! – StackOverflower

+0

申し訳ありませんが、私のコメントは設計上の可能性が早すぎる可能性があります。私は、あなたのアプリケーションプールがクラシックモードであると言いました。 IIS 7では、承認、偽装、およびスレッドの識別に関して、ロットが変更されました。従来のモードではIISはIIS 6と同じように動作するはずですが、微妙な違いがある場合は驚かないでしょう。私は違いについての詳細を見つけることができませんでしたが、IIS 7の統合モードでの動作については、「Professional ASP.NET 3.5のセキュリティ、メンバーシップ、およびC#とVBによる役割管理」の中のかなり複雑な表が見つかりました。それには多くの要因が影響します。 –

答えて

0

なぜファイルioのアクセス許可を偽装するのですか。つまり、アプリケーションプールのIDは何ですか。ハンドラーのアプリケーションプールのIDを、IOを実行する権限を持つユーザーに設定します。

Specify an Identity for an Application Pool (IIS 7)

Configuring Application Pool Identity with IIS 6.0 (IIS 6.0)

+0

あなたの答えに感謝します。さまざまな理由でなぜこの質問を私は偽装する必要がありますので、変更するアプリケーションプールユーザーはオプションではありません。 – StackOverflower