SPSecurity.RunWithElevatedPrivileges делает что-нибудь в консольном приложении? - PullRequest
3 голосов
/ 23 сентября 2008

Из того, что я почерпнул из отражателя, RunWithElevatedPriveleges просто возвращает текущую идентификацию потока в базовую (не олицетворенную) идентификацию. Это имеет смысл в случае кода, выполняющегося в пуле приложений WSS, поскольку учетная запись базовой службы является суперпользователем. Влияет ли это на работу во внешнем (консольном или сервисном) приложении, когда нет олицетворения? Наверное, нет, но я бы хотел знать наверняка. Я видел разные мнения по этому поводу от Google.

Ответы [ 3 ]

3 голосов
/ 24 сентября 2008

Обычно Runwithelevatedprivileges запускает ваш код как идентификатор пула приложений, но он не работает с консоли. В этом случае мы использовали runas или установить идентификатор запланированной задачи в той же учетной записи, что и идентификатор пула приложений.

3 голосов
/ 23 сентября 2008

Я думаю, что было бы, если бы вы запустили исполняемый файл под одной учетной записью, а затем изменили его учетные данные с помощью кода (как это делает SP). В противном случае он не может повысить права доступа, которых у него не было при запуске, без какого-либо способа создания объекта Credentials.

0 голосов
/ 06 июня 2012

RunWithElevatedPriveleges не работает, когда HTTPContext равен нулю. В консоли HTTPContext имеет значение null.

...