Quelle est la différence entre RunWithElevatedPriviledges et HostingEnvironment.Usurper l'identité d'()?
-
10-12-2019 - |
Question
Quelle est la différence entre RunWithElevatedPriviledges et HostingEnvironment.Usurper l'identité d'()?
Les deux sont utilisés pour exécuter du code avec des privilèges plus élevés..
La solution
Hosting.HostingEnvironment.Impersonate
est le ASP.NET équivalent à SPSecurity.RunWithElevatedPrivileges
.
SPSecurity.RunWithElevatedPrivileges
ne peut pas travailler dans ASP.NET contexte d'appels d'Api SharePoint.
J'ai un asp.net web app qui doivent exécuter du code dans le contexte de l'utilisateur actuel (via identité d'usurper l'identité qu'il a besoin de faire appel à des ressources diverses).Il y a quelques blocs de code, comme l'écriture d'exceptions dans le journal des événements qui doivent s'exécuter que l'application de la piscine compte.
Dans SharePoint, (qui a asp.net très semblable à mon application web), il est SPSecurity.RunWithElevatedPrivileges.Cela garantit un bloc de code s'exécute en tant qu'application de la piscine compte.L'équivalent en asp.net est comme suit:-
using (System.Web.Hosting.HostingEnvironment.Impersonate())
{
}