Sharepoint 2010 не может запустить код с повышенными привилегиями в качестве учетной записи удостоверения пула IIS

Я изменил учетную запись службы идентификации пула IIS для своего веб-приложения Sharepoint 2010, заменив, таким образом, учетную запись «Сетевая служба» по умолчанию (с помощью администратора Sharepoint). Разрешения учетной записи службы пула теперь задокументированы MS здесь в разделе «Учетная запись пула приложений»: http://technet.microsoft.com/en-us/library/cc678863%28v=office.14%29.aspx

Код с повышенными правами в моей функции не работает при попытке активировать дополнительные функции сайта за следующим исключением:

Исключение при создании сайта: проверка безопасности для этой страницы недействительна. Щелкните «Назад» в веб-браузере, обновите страницу и повторите попытку.

Трассировки стека:

at Microsoft.SharePoint.SPGlobal.HandleComException(COMException comEx)    
 at Microsoft.SharePoint.Library.SPRequest.ValidateFormDigest(String bstrUrl, String bstrListName)    
 at Microsoft.SharePoint.SPWeb.ValidateFormDigest()    
 at Microsoft.SharePoint.SPSecurity.ValidateSecurityOnOperation(SPOperationCode code, SPSecurableObject obj)    
 at Microsoft.SharePoint.SPFeature.AddRowToFeaturesTable(SPFeaturePropertyCollection props, SPSite site, SPWeb web, Boolean fForce)    
 at Microsoft.SharePoint.SPFeature.Activate(SPSite siteParent, SPWeb webParent, SPFeaturePropertyCollection props, SPFeatureActivateFlags activateFlags, Boolean fForce)    
 at Microsoft.SharePoint.SPFeatureCollection.AddInternal(SPFeatureDefinition featdef, Version version, SPFeaturePropertyCollection properties, SPFeatureActivateFlags activateFlags, Boolean force, Boolean fMarkOnly)    
 at Microsoft.SharePoint.SPFeatureCollection.AddInternalWithName(Guid featureId, String featureName, Version version, SPFeaturePropertyCollection properties, SPFeatureActivateFlags activateFlags, Boolean force, Boolean fMarkOnly, SPFeatureDefinitionScope featdefScope)    
 at Microsoft.SharePoint.SPFeatureCollection.Add(Guid featureId)  

Какие еще разрешения необходимы пользователю удостоверения пула для правильного выполнения кода с повышенными правами? Является ли угрозой безопасности установка идентификатора пула для учетной записи фермы (например, службы owstimer)? (Если да, то почему?)


person user584572    schedule 11.08.2014    source источник
comment
Опубликованная вами ошибка не связана с учетной записью, насколько я могу судить (проверка дайджеста формы не требует каких-либо разрешений). Возможно, вы захватили неправильный стек вызовов. Также подумайте о том, чтобы задать вопрос в SharePoint.   -  person Alexei Levenkov    schedule 11.08.2014
comment
Создание сайта вызывается из aspx, может поэтому. Я попытался переключить идентификатор пула на администратора фермы, и он работает нормально. Я думаю, что мне чего-то не хватает или Microsoft чего-то не хватает.   -  person user584572    schedule 11.08.2014
comment
Я предполагаю, что вы aspx делаете POST и включает надлежащий контроль для добавления дайджеста (blog.crsw.com / 2011/04/23 / validateformdigest) ... Так что нет, я не знаю, почему у вас возникла проблема. Я все еще думаю, что вопрос на правильном сайте SE может дать вам лучший ответ.   -  person Alexei Levenkov    schedule 12.08.2014


Ответы (1)


В повышенном коде обновляемый объект SPWeb должен иметь AllowUnsafeUpdates = true. Это решило проблему. Как и предполагалось, вопрос был повторно размещен на sharepoint.stackexchange.com: https://sharepoint.stackexchange.com/questions/111507/sharepoint-2010-fails-to-run-elevated-code-as-iis-pool-identity-account

person user584572    schedule 12.08.2014