SharePoint 2010 におけるもう 1 つのクレーム移行方法の発見

原文の記事の投稿日: 2012 年 3 月 19 日 (月曜日)

こんにちは。以前、私は IMigrateUserCallback インターフェイスに関するこの投稿 (https://blogs.msdn.com/b/sharepoint_jp/archive/2011/03/07/windows-saml.aspx) でクレーム ユーザー用にコードを移行する方法 (Windows クレームから SAML クレームなど) について書きました。ちょうどこの投稿と同じように、私の友人の Raju S. も他の興味深い情報を持っていたので、その内容をこのコンテンツに今日追加しました。"ブログ友達" の 1 人である Israel V. は、彼が行った最近の移行の後でワークフローの ID が更新されなかったことに気付きました。結局、Raju は、以前の SharePoint バージョンで (異なるドメイン間で移行を行うときに) この現象を確認しており、コードを追加してこの問題を解決していました。実際にここで必要なことは、ワークフローの関連付けを確認し、ワークフローに関連付けられたアカウントを更新することです。

各コンテンツ タイプ、リスト および Web に WorkflowAssociations というプロパティがあり、そのプロパティにこの情報が含まれています。これは単なるコレクションなので各情報を順に処理できますが、想像できるとおり、Web アプリケーション全体を調べるには時間がかかる場合があります。したがって、相応の計画を立ててください。1 つのワークフローの関連付けは、実際は単なる XML の塊です。したがって、AssociationData プロパティを取得し、XML を確認して XML に慣れることをお勧めします。XML を見ると、ユーザー、アカウント ID、および表示名のノードを確認できます。変更する必要のある値はこのノードです。XML を変更した後、その XML を AssociationData プロパティに戻し、ワークフローの関連付けで UpdateWorkflowAssociation メソッドを呼び出します。

この問題を提起してくれた Israel と、解決策を共有してくれた Raju に改めて感謝します。

これはローカライズされたブログ投稿です。原文の記事は、「One More Claims Migration Gotcha For SharePoint 2010」をご覧ください。