1

次のシナリオを検討してください。

の背後でホストする Web サイトを持っていますIIS 7.0。ほとんどすべてのIIS設定はデフォルト設定です。ASP.Netユーザーが書き込みアクセス権を持っていたファイルをアップロードするためのフォルダーがあります。現在、マネージャーはこの書き込みアクセス権をキャンセルしており、このユーザーがそのフォルダーへの書き込みアクセス権を持つIISローカルユーザーを追加したいと考えています。Windows Server私の質問は、asp.netでユーザーを偽装する方法と、この方法が安全かどうかです。デフォルトのユーザーに従ってサーバー上ですべてのリクエストを実行しIISたいのですが、ファイルをアップロードするために偽装したいだけです。

ありがとう

4

1 に答える 1

3

必要なのは、部分的な偽装です。すべてのリクエストを偽装する必要はありませんが、偽装する必要があるのは少数の呼び出しだけです。この記事は必見だと思います。

http://support.microsoft.com/kb/306158

これは、ログインしているユーザーの資格情報の下でコードの一部を偽装する方法であり、残りの呼び出しはデフォルトのアプリ プール ID を使用して処理されます。

System.Security.Principal.WindowsImpersonationContext impersonationContext;
impersonationContext = 
    ((System.Security.Principal.WindowsIdentity)User.Identity).Impersonate();

//Insert your code that runs under the security context of the authenticating user here.

impersonationContext.Undo();
于 2012-07-26T08:57:11.893 に答える