Еще одна проблема при миграции утверждений для SharePoint 2010

Исходная статья опубликована в понедельник, 19 марта 2012 г.

Народ, я тут раньше писал о том, как выполнить миграцию кода для пользователей утверждений (например, утверждений Windows в утверждения SAML) в записи, посвященной интерфейсу IMigrateUserCallback: http://blogs.msdn.com/b/sharepoint_ru/archive/2011/03/08/windows-saml.aspx. Так вот, у нашего друга Раджу С. есть некоторая интересная информация в дополнение к тем материалам. Еще один наш "друг по блогу" Израэль В. заметил, что после того как он недавно выполнил миграцию, удостоверения рабочих процессов не обновились. Оказывается, Раджу сталкивался с этим в предыдущей версии SharePoint (при миграции из одного домена в другой) и написал код для исправления этой проблемы. Схема действий такова — пройти и просмотреть сопоставления рабочих процессов, и обновить связанные с ними учетные записи. 

У каждого типа контента, списка и веб-части имеется свойство под названием WorkflowAssociations, в котором хранится эта информация. Это просто коллекция, все элементы которой можно перечислить, но как вы сами понимаете, потребуется некоторое время на то, чтобы пройти целиком все веб-приложение, так что планируйте соответственно. Отдельное сопоставление рабочего процесса — это просто фрагмент кода Xml, так что, вероятно, лучше всего извлечь свойство AssociationData и посмотреть на код Xml, чтобы ознакомиться с ним. При просмотре вам следует обратить внимание на узлы для пользователя, идентификатора учетной записи и отображаемого имени — это будут значения, которые вы хотите изменить. Изменив код Xml, вы затем можете поместить его обратно в свойство AssociationData и вызвать метод UpdateWorkflowAssociation для сопоставления рабочего процесса.

Спасибо еще раз Израэлю за то, что обратил внимание на проблему, и Раджу за то, что поделился решением.

Это локализованная запись блога. Исходная статья доступна по ссылке: One More Claims Migration Gotcha For SharePoint 2010