1

Exchange で動作する Web アプリケーションを作成しているため、Exchange に対する管理者権限を持つアカウントを偽装する必要があります。このアカウントは、セットアップ時にユーザーによって指定されます。このアカウントを偽装して使用するための最良の方法は何ですか。変更できるようにする必要があるため、明らかにこれを web.config にハードコーディングすることはできませんが、それを行うための最良の方法はわかりません。また、実際には、この管理ユーザーとして実行する必要があるのは 1 つのクラスだけですが、一部のメソッドだけを偽装することは可能ですか?

4

4 に答える 4

1

偽装を使用してネットワーク ファイル共有にアクセスする方法についての回答を投稿しましたが、それはあなたにも役立つはずです。これには、偽装の開始/終了を管理するために使用できる ac# クラスのソースが含まれており、任意のクラスまたはメソッドで使用できます。

提供されているソースは、web.config にユーザー名とパスワードを保存していることを前提としています。

詳細については、元の質問と回答を参照してください。

于 2009-01-05T14:11:21.440 に答える
0

上記のようにすることもできますが、このシナリオでは、セットアップ プロセス中に web.config を変更するだけでは何が問題になるのでしょうか?

于 2009-01-05T13:36:15.067 に答える
0

過去にこれを行った方法は、LogonUser を使用することです。以下のリンクは、これを行う方法についてのガイダンスを提供します。

http://blogs.msdn.com/shawnfa/archive/2005/03/21/400088.aspx

http://www.guidanceshare.com/wiki/ASP.NET_2.0_Security_Guidelines_-_偽装/委任

また、Exchange の偽装を使用して、 Exchange Web サービスを介して Exchangeで偽装できる固定 ID でアプリケーションを実行できるかどうかを検討することもできます。

于 2009-01-05T12:43:02.257 に答える
0

他の人が指摘した LogonUser または WindowsImpersonationContext クラスに加えて、特権コードを分離することも検討してください。たとえば、エンタープライズ サービス オブジェクトとして実行する (COM+ で実行する)。これにより、OS に資格情報を管理させることができます。さらに、特権コードの周りに組み込みの信頼境界があります。
もちろん、このオブジェクトを呼び出すことができる人に制限を実装する必要がありますが、それは簡単に構成できます...

于 2009-01-07T00:42:37.843 に答える