クレーム ベースの SharePoint 2010 Web サイトを所有しており、バックエンドの非クレーム対応システム (K2 blackpearl) を呼び出す必要があります。
したがって、これを達成するために、ここで説明されているように、Windowsトークンサービスへのクレームを使用してユーザーになりすますことを試みています
ここで、ユーザー UPN を使用して c2wts を呼び出し、次のコードを使用して要求に変換します。
WindowsIdentity windowsIdentity = null;
SPSecurity.RunWithElevatedPrivileges(
delegate()
{
windowsIdentity = S4UClient.UpnLogon("user@domain.com");
});
windowsIdentity.ImpersonationLevel が Impersonate ではなく Identification であることを偽装すると
using (WindowsImpersonationContext c = windowsIdentity.Impersonate())
{
Debug.WriteLine(WindowsIdentity.GetCurrent().ImpersonationLevel); // returns Identification
ConnectToK2();
c.Undo();
}
これは、トークンを使用してサービスを呼び出そうとすると失敗するため、問題を引き起こしていると思います。上記の記事では、偽装されたトークンを取り戻す方法について説明していますが、私はこれを行うことができません。
私が間違っているかもしれないことを誰かが知っていますか?
ありがとう