SharePoint 2010 - доступ запрещен во время ApplyWebConfigModification () - PullRequest
4 голосов
/ 25 февраля 2010

У меня SharePoint 2010 установлен на компьютере с Windows Server 2008 R2, на котором также размещается SQL Sever 2008 R2. Я пытаюсь развернуть решение, включающее веб-части, в среде 2010 года, которое отлично работает в MOSS 2007.

Функция веб-части имеет приемник функций, который обновляет файл web.config. Когда я пытаюсь активировать функцию через графический интерфейс компонента семейства сайтов, я получаю сообщение об отказе в доступе. Я вошел на сервер и в SharePoint с учетной записью пула APP, которая также является членом группы администраторов домена, группы локальных администраторов и группы администраторов фермы SharePoint. Эта учетная запись также является dbo на SQL Server.

Эта же функция активируется с помощью команды stsadm.

Я подробно изучил этот вопрос, и вот что я нашел:

Глядя на сборки Microsoft в отражателе, моя ошибка исходит из метода SPWebApplication.ApplyWebConfigModifications (). Я вижу инструкции трассировки из SPWebConfigFileChanges.RemoveModificationsWebConfigXMLDocument и SPWebConfigFileChanges.ApplyModificationsWebConfigXMLDocument. Следующая строка - Save (str).

Ниже приведен вывод из журналов SharePoint, относящихся к этой ошибке:

Применение изменений веб-конфигурации к сети Приложение
5a817a37-7bf6-4d26-be51-207369e38f5b

02/24/2010 16: 05: 41.09 w3wp.exe (0x0F64)
0x1034 SharePoint Foundation
Генерал 8грн Средний WebConfigModification: Применение изменений веб-конфигурации к веб-приложение на сервере tw-s1-m4400-007
5a817a37-7bf6-4d26-be51-207369e38f5b

02/24/2010 16: 05: 41.09 w3wp.exe (0x0F64)
0x1034 SharePoint Foundation
Топология 88gw Средний WebConfigModification: Применение изменений веб-конфигурации к файл C: \ Inetpub \ Wwwroot \ WSS \ VirtualDirectories \ 2008 \ web.config 5a817a37-7bf6-4d26-be51-207369e38f5b

02/24/2010 16: 05: 41.09 w3wp.exe (0x0F64)
0x1034 SharePoint Foundation
Топология 887b Средний Удаление узла веб-конфигурации - Дорожка Конфигурация / system.web / HttpModules Имя узла добавить [@ имя = 'JivePageController']
5a817a37-7bf6-4d26-be51-207369e38f5b

02/24/2010 16: 05: 41.09 w3wp.exe (0x0F64)
0x1034 SharePoint Foundation
Топология 887b Средний Удаление узла веб-конфигурации - Дорожка Конфигурация / system.web / HttpHandlers Имя узла добавить [@ путь = 'ScriptResource.axd']
5a817a37-7bf6-4d26-be51-207369e38f5b

02/24/2010 16: 05: 41.09 w3wp.exe (0x0F64)
0x1034 SharePoint Foundation
Топология 887b Средний Удаление узла веб-конфигурации - Дорожка / * [Имя локальной конфигурации / среда выполнения () = "assemblyBinding" а также Пространство имен-URI () = "урна: схемы-Microsoft-ком: asm.v1"] Имя узла [местного названия () = "dependentAssembly"] [ / @ имя = "System.Web.Extensions.Design"] 5a817a37-7bf6-4d26-be51-207369e38f5b

02/24/2010 16: 05: 41.09 w3wp.exe (0x0F64)
0x1034 SharePoint Foundation
Топология 887b Средний Удаление узла веб-конфигурации - Дорожка / * [Имя локальной конфигурации / среда выполнения () = "assemblyBinding" а также Пространство имен-URI () = "урна: схемы-Microsoft-ком: asm.v1"] Имя узла [местного названия () = "dependentAssembly"] [ / @ Name = "System.Web.Extensions"] 5a817a37-7bf6-4d26-be51-207369e38f5b

02/24/2010 16: 05: 41.09 w3wp.exe (0x0F64)
0x1034 SharePoint Foundation
Топология 8gp8 Средний WebConfigModification: Добавление узла веб-конфигурации - Путь - / * [Имя локальной конфигурации / среда выполнения () = "assemblyBinding" а также Пространство имен-URI () = "урна: схемы-Microsoft-ком: asm.v1"] Имя узла - [локальное имя () = "dependentAssembly"] [ / @ NAME = "System.Web.Extensions"] Значение узла - в файле web.config C: \ Inetpub \ Wwwroot \ WSS \ VirtualDirectories \ 2008 \ web.config 5a817a37-7bf6-4d26-be51-207369e38f5b

02/24/2010 16: 05: 41.09 w3wp.exe (0x0F64)
0x1034 SharePoint Foundation
Топология 8gp8 Средний WebConfigModification: Добавление узла веб-конфигурации - Путь - / * [Имя локальной конфигурации / среда выполнения () = "assemblyBinding" а также Пространство имен-URI () = "урна: схемы-Microsoft-ком: asm.v1"] Имя узла - [местного названия () = "dependentAssembly"] [ / @ имя = "System.Web.Extensions.Design"] Значение узла - в web.config файл C: \ Inetpub \ Wwwroot \ WSS \ VirtualDirectories \ 2008 \ web.config 5a817a37-7bf6-4d26-be51-207369e38f5b

02/24/2010 16: 05: 41.09 w3wp.exe (0x0F64)
0x1034 SharePoint Foundation
Топология 8gp8 Средний WebConfigModification: Добавление узла веб-конфигурации - Путь - Конфигурация / system.web / HttpHandlers Имя узла - добавить [@ path = 'ScriptResource.axd'] узел значение - в файле web.config C: \ Inetpub \ Wwwroot \ WSS \ VirtualDirectories \ 2008 \ web.config 5a817a37-7bf6-4d26-be51-207369e38f5b

02/24/2010 16: 05: 41.09 w3wp.exe (0x0F64)
0x1034 SharePoint Foundation
Топология 8gp8 Средний WebConfigModification: Добавление узла веб-конфигурации - Путь - Конфигурация / system.web / HttpModules Имя узла - Добавить узел [@ name = 'JivePageController'] значение - в файле web.config C: \ Inetpub \ Wwwroot \ WSS \ VirtualDirectories \ 2008 \ web.config 5a817a37-7bf6-4d26-be51-207369e38f5b

02/24/2010 16: 05: 41.09 w3wp.exe (0x15C4)
0x1444 SharePoint Foundation
Топология e5mb Средний WcfReceiveRequest: LocalAddress: 'http://tw -s1-m4400-007.jivedemo.local: 32843 / 15702467ece1408f881abeabac3b5077 / MetadataWebService.svc Источник: 'System.ServiceModel.Channels.ServiceChannel' Действие: xxx MessageId: 'Урна: UUID: 4e859532-ed7f-4937-8b88-68d3af43d589' 9f403ede-2c94-490b-a05c-e169cc5fe58d

02/24/2010 16: 05: 41.10 w3wp.exe (0x0F64)
0x1034 SharePoint Foundation
Топология ф6х Высокая WebConfigModification: Сохранить файл web.config C: \ Inetpub \ Wwwroot \ WSS \ VirtualDirectories \ 2008 \ web.config для применения изменений в веб-приложении SharePoint - 2008 не удалось. ошибка сообщение - доступ к пути 'C: \ Inetpub \ Wwwroot \ WSS \ VirtualDirectories \ 2008 \ web.config' отказано.
5a817a37-7bf6-4d26-be51-207369e38f5b

02/24/2010 16: 05: 41.10 w3wp.exe (0x0F64)
0x1034 SharePoint Foundation
Топология 8j2o Высокая WebConfigModification: Изменения не применяются к веб-приложению SharePoint - 2008 с Url xxx
5a817a37-7bf6-4d26-be51-207369e38f5b

Буду признателен за любую помощь!

Ответы [ 5 ]

3 голосов
/ 28 апреля 2010

Проверьте, включен ли UAC (контроль учетных записей), и выключите его, если это тестовая / демонстрационная среда . Другой вариант (и лучший вариант для производственных сред) - щелкнуть правой кнопкой мыши ссылку центрального администратора и выбрать параметр «Запуск от имени администратора».

Я сгорел от этого некоторое время, и причина в том, как выполняется проверка безопасности перед выполнением задания развертывания решения. Если вы работаете с включенным контролем учетных записей, то эта проверка всегда будет неудачной (см. Раздел «Примечания» в MSDN для system.security.principal.windowsprincipal).

1 голос
/ 25 февраля 2010

Убедитесь, что удостоверение вашего пула приложений имеет доступ на чтение / запись к каталогу, в котором находится файл web.config.

Также убедитесь, что удостоверение вашего задания таймера SharePoint имеет доступ на чтение / запись к каталогу, в котором находится файл web.config.

0 голосов
/ 29 июня 2010

Наше решение состояло в том, чтобы реорганизовать нашу архитектуру объектов таким образом, чтобы у нас теперь была функция области действия веб-приложения в дополнение к 2 функциям области фермы и 2 функциям области семейства сайтов. Мы переместили наш код, относящийся к WebConfigModification, из наших функций в области семейства сайтов в нашу новую функцию в области веб-приложений.

Это было так, как это должно было быть сделано все время (и как мы пытались сделать это изначально некоторое время назад), но установщик решений SharePoint не поддерживал нашу архитектуру функций, поэтому мы обошли ее, имея немного кода пытаясь разобраться с WebConfigModification на уровне семейства сайтов. У этого были некоторые грубые побочные эффекты, такие как требование, чтобы учетная запись, которая активировала функцию семейства сайтов, также была администратором фермы - и нам нужно было иметь некоторый умный код, чтобы не применять или удалять наши настройки несколько раз.

Итак, нам пришлось обновить установщик решения SharePoint для этого, а также заставить его работать в SharePoint 2010. Он еще не выпущен, но посмотрите http://sharepointinstaller.codeplex.com/ на выпуски, которые поддерживают этот сценарий для SharePoint 2007 и SharePoint 2010.

0 голосов
/ 26 февраля 2010

C: \ Inetpub \ Wwwroot \ WSS \ VirtualDirectories \ 2008 \ web.config для применения изменений в веб-приложении SharePoint - 2008 не удалось. ошибка сообщение - Доступ к пути 'C: \ Inetpub \ Wwwroot \ WSS \ VirtualDirectories \ 2008 \ web.config' отказано.

Проверьте права доступа к этому файлу и настройте их соответствующим образом.

0 голосов
/ 25 февраля 2010

Попробуйте изменить область действия функции на WebApplication и активировать ее из Central Admin

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...