Pregunta

¿Cuál es la diferencia entre RunWithElevatedPriviledges y HostingEnvironment.Impersonate()?

Ambos se utilizan para ejecutar código con privilegios más altos.

¿Fue útil?

Solución

Hosting.HostingEnvironment.Impersonate es el equivalente ASP.NET a SPSecurity.RunWithElevatedPrivileges.

SPSecurity.RunWithElevatedPrivileges no puede funcionar en el contexto ASP.NET ya que requiere API de SharePoint.

Fuente

Tengo una aplicación web asp.net que debe ejecutar código en el contexto del usuario actual (mediante suplantación de identidad, ya que necesita llamar a varios recursos).Hay algunos bloques de código, como la escritura de excepciones en el registro de eventos que debe ejecutarse como la cuenta del grupo de aplicaciones.

En SharePoint (que tiene asp.net configurado de manera muy similar a mi aplicación web), existe SPSecurity.RunWithElevatedPrivileges.Esto garantiza que se ejecute un bloque de código como cuenta del grupo de aplicaciones.El equivalente en asp.net es el siguiente: -

using (System.Web.Hosting.HostingEnvironment.Impersonate()) 
{ 
}

Fuente

Licenciado bajo: CC-BY-SA con atribución
scroll top