呼び出し元ユーザーの偽装を一時中断しないようにする
最終更新日: 2011年2月2日
適用対象: SharePoint Foundation 2010
Windows 認証を使用していて、コードでインターネット インフォメーション サービス (IIS) のワーカー プロセスから Microsoft SharePoint Foundation オブジェクト モデルを呼び出す場合、その要求で呼び出し元ユーザーの ID を偽装する必要があります。SharePoint Foundation は、呼び出し元ユーザーを自動で偽装するように Microsoft ASP.NET を構成します。偽装を一時中断した場合、コードが予期しない動作を行ったり、失敗したりする場合があります。コードで偽装が一時中断される場合がある 2 つの例を以下に示します。
Windows API の RevertToSelf (英語) 関数を呼び出します。
Impersonate(IntPtr) メソッドを呼び出し、Zero をパラメーター値として渡す
これらのメソッドのどちらかを明示的に使用してコードが自身に戻らない場合も、コードの呼び出し元は、知らないうちに自身に戻る場合があります。たとえば、ASP.NET は、カスタムの仮想パス プロバイダーを呼び出す前に、偽装を一時中断します。