5

IIS サーバーでの分離ストレージの使用について少し混乱しています。

私は、 Isolated Storageの目標を理解しています: データを安全に保管する場所を提供し、この場所がどのように、どこにあるかを心配する必要はありません。

分離ストレージにはユーザー単位およびアセンブリ単位のアプローチがあるため、アプリケーションがほぼ独自の ID を持つ IIS サーバーで使用することに、私はあまり積極的ではありません。私は Web アプリケーションを偽装することに興味を持ったことがなく、自分自身が偽装された Web アプリケーションを見たことはほとんどありませんが、これが私の見解です。

サーバーでの分離ストレージの使用( Windows Server 2003 の場合):

  • での分離ストアの使用\Documents and Settings\<user>\

  • これは、アプリケーション プールがローカル システムまたはネットワーク サービス\Documents and Settings\Default User\によって所有されている場合を意味します。

  • これは、ローカル システムまたはネットワーク サービスのこのフォルダーに対する書き込み権限も意味します。

  • なりすましの使用

Web アプリケーション (ロジック) に関して、これらのアイデアは私を混乱させます... ドキュメントと設定 ? デフォルトのユーザー? ストレージのためだけに偽装を有効にしますか? サーバー上のストレージを制御できませんか? え?

MSDN のいくつかのポイント:

  • サーバーストレージ。サーバー アプリケーションは、分離ストレージを使用して個々のストアを提供できます [...]。分離ストレージは常にユーザーごとに分離されるため、サーバーは要求を行っているユーザーを偽装する必要があります。[...]

  • 分離ストレージを使用すると、部分的に信頼されたアプリケーションが、コンピューターのセキュリティ ポリシーによって制御される方法でデータを格納できるようになります。

  • 既定では、ローカル コンピューター、ローカル ネットワーク、[...] から実行されるコードには、分離ストレージを使用する権利が付与されます。ネットワーク サービスを理解する必要がありますか? 私は驚くだろう。私の IIS サーバー (Windows 2003) ではそうではありません。

そして、私はジレマの前に立っています: System.IO.PackagingWeb アプリケーションで (内部に分離ストレージを使用して) 使用するか、代替手段を見つけますか? IO.Packaging分離ストレージを有効にする必要があることを意味しますか?

私のアプローチは間違っていますか?私は何か見落としてますか ?

特にIISサーバーで使用/有効にしたくないのは正確です。そのような環境で有効にすることが良い方法であるかどうかを理解したいと思います。

どのような観点からも歓迎され、「IIS の哲学を備えた分離ストレージ」についての説明は答えになる可能性があります。

ありがとう !

4

1 に答える 1

1

何らかの理由でサーバー側の分離ストレージを使用する必要がある場合は、ユーザーを偽装する必要があります。そのためには、Windows 統合認証を使用して、要求しているユーザーが入力された http コンテキストのユーザー プリンシパルを取得する必要があります。リクエスト スレッドは ID をリクエスタ ユーザーに切り替え、そのアカウントの下に分離ストレージが表示されると思います (テストしていません)。

通常はエンタープライズ環境で Web ファーム上で実行される IIS アプリ用に、サーバー側で分離ストレージをいつ使用するかはまだわかりません。ユーザーごとにローカルに何かを保存することは、ベスト プラクティスに反します。そのサーバーがダウンした場合、そのデータは失われます。

于 2012-10-01T06:02:06.350 に答える