0

(とりわけ) いくつかのメディア ファイル (オーディオ、ビデオ、画像ファイル) を再編成する必要がある C#/WPF ビジネス アプリケーションを作成しています。アプリケーションは、現在のユーザーのセキュリティ コンテキストでも実行する必要があるため、ユーザーと同じアクセス権を持っています。

アプリケーションは、ファイルへの不正アクセスを阻止するために、メディアにアクセスできる唯一の場所である必要があります。私の最初の考えは、メディアを読み取り専用フォルダーに整理し、適切な権限を持つサービスを使用してファイルを読み取り専用フォルダーに移動することでした。

実際のアプリケーションには、ファイルを読み取り専用フォルダーに移動する権限はありません。これは、フォルダーへのアクセス権を持ってはならない現在のユーザーの権利を共有しているためです。

最初、私は Windows サービスを見ましたが、それと通信するのはセットアップするのが大変だと思いました。したがって、私はWCFサービスを使用していますが、サービスのセットアップが機能している間、「MoveFile」メソッドが1つしかないサービスを使用するのは少し無駄に思えます...アプリケーション(およびユーザー)は引き続きフォルダーから読み取ることができます。書き込まないでください。

ファイルを .NET の読み取り専用フォルダーに移動するためのより良い解決策はありますか? たとえば、ファイルを読み取り専用フォルダーに移動するときに、アプリケーションの一部を別のユーザーとして実行することは可能ですか?

4

2 に答える 2

0

メインアプリケーションからファイルを移動する手順を偽装しようとしましたか?次を使用できます:WindowsIdentity.Impersonateメソッド

于 2013-02-19T09:51:08.340 に答える
0

現在のユーザーがアプリケーションを実行している場合、アプリケーションには同じ権限が必要です。セキュリティをバイパスするために、読み取り専用フォルダーに移動する必要はありません。現在のユーザーが適切な権限を持っていない場合、UnauthorizedAccessException などの例外をキャッチする必要がある場合があります。

さまざまなレベルのアクセス権を持つディレクトリとファイルの読み取りをテストして、自動的に機能するかどうかを確認しましたか?

于 2013-02-18T18:08:43.733 に答える