SharePoint 2010 的另一个声明迁移发现
原文发布于 2012 年 3 月 19 日(星期一)
大家好,之前我在以下有关 IMigrateUserCallback 接口的文章中编写过如何迁移声明用户的代码(如 Windows 声明到 SAML 声明):https://blogs.msdn.com/b/sharepoint_chs/archive/2011/03/08/windows-saml.aspx。正如这篇文章所写,我们的好朋友 Raju S. 现在又有一些其他有趣的信息要添加到这些内容中。我们的另外一位“博客朋友”Israel V. 注意到在近期执行迁移操作后,工作流的标识却没有更新。而事实上,Raju 在早期版本的 SharePoint 中也遇到过此问题(在不同域之间进行迁移时),并编写了一些代码来修复此问题。在此,您需要做的就是仔细检查和查看您的工作流关联,并更新与它们关联的帐户。
每个内容类型、列表和 Web 均有一个名为 WorkflowAssociations 的属性,用来存储此信息。这只是一个集合,因此您可以枚举每一项,但正如诸位所能想象到的那样,这可能需要花费一些时间来完成整个 Web 应用程序,因此需要进行相应的规划。特定工作流关联仅仅是一组 Xml,因此最好检索 AssociationData 属性和查看一下 Xml 以便熟悉它。在进行检查时,您应当注意用户、帐户 ID 和显示名称的节点,这些将是您要更改的值。更改 Xml 后,您就可以将其推送回 AssociationData 属性和调用工作流关联上的 UpdateWorkflowAssociation 方法。
再次感谢 Israel 提出这个问题,并感谢 Raju 分享他的解决方案。
这是一篇本地化的博客文章。请访问 One More Claims Migration Gotcha For SharePoint 2010 以查看原文