В чем разница между RunwithElevatedPriviledges и HostingEnvironment.
-
10-12-2019 - |
Вопрос
В чем разница между бенвителевированнымиpreviviledges и HostingenVironment.
Оба используются для запуска кода с более высокими привилегиями ..
Решение
Hosting.HostingEnvironment.Impersonate
- эквивалент ASP.NET для SPSecurity.RunWithElevatedPrivileges
.
SPSecurity.RunWithElevatedPrivileges
не может работать в контексте ASP.NET, поскольку он вызывает для SharePoint API.
У меня есть веб-приложение ASP.NET, которое должно выполнять код в контексте текущего пользователя (с помощью идентификатора empersonate, поскольку он должен вызывать различные ресурсы). Есть несколько блоков кода, такие как запись исключения в журнал событий, которые должны работать как учетная запись пула приложения.
в SharePoint, (который имеет asp.net настроить очень похоже на мое веб-приложение), есть spsecurity.runwithelevatedPrivileges. Это обеспечит блок кода в качестве учетной записи пула приложения. Эквивалент в ASP.NET выглядит следующим образом: -
using (System.Web.Hosting.HostingEnvironment.Impersonate())
{
}
.