2009-08-27 1 views

ответ

13

RunWithElevatedPrivileges работает только в том случае, если текущая нить использует олицетворение, то есть IIS. Используется в другом коде (задания таймера, консольные приложения, рабочий процесс и т. Д.), Это не будет иметь никакого эффекта. Колин прав, что по умолчанию служба таймера запускается как учетная запись службы фермы, указанная в Мастере согласования. Вы можете проверить это в службах Windows.

+0

Я не могу говорить о заданиях таймера или рабочем процессе или о технически консольных приложениях, но я разрабатываю приложение winforms, которое должно иметь в основном тот же контекст исполнения, что и консольное приложение (пользователь, который запускает приложение), - и он не может делать определенные вещи без делегата RunWithElevatedPrivileges, а затем, конечно же, получает новый SPSite в новом повышенном контексте. У вас есть источник, который показывает, как это не нужно? –

+0

Чтобы подтвердить, что вы используете SharePoint 3.0/2007? Попробуйте проверить «Environment.Username» в и из RWEP, чтобы увидеть, действительно ли есть изменения. (См. Http://solutionizing.net/2009/01/06/elegant-spsite-elevation/#comment-192 и ответы для соответствующего обсуждения.) – dahlbyk

+0

Nope - SharePoint 2013 - имеет ли функциональность RunWithElevatedPrivileges(), возможно, изменилась с тех пор? или это немного отличается каким-то другим способом в более поздних версиях SP? –

5

Они запускаются под учетной записью, которую вы использовали при запуске мастера настройки продуктов и технологий SharePoint в первый раз, чтобы подключиться к SQl/запустить пул приложений Central Admin. т.е. учетная запись Бога в SharePoint.

 Смежные вопросы

  • Нет связанных вопросов^_^