Pergunta

Qual é a diferença entre RunWithElevatedPriviledges e HostingEnvironment.Impersonate()?

Ambos são usados ​​para executar código com privilégios mais elevados.

Foi útil?

Solução

Hosting.HostingEnvironment.Impersonate é o ASP.NET equivalente a SPSecurity.RunWithElevatedPrivileges.

SPSecurity.RunWithElevatedPrivileges não pode funcionar no contexto do ASP.NET, pois chama APIs do SharePoint.

Fonte

Eu tenho um aplicativo da web asp.net que deve executar código no contexto do usuário atual (por meio da representação de identidade, pois precisa chamar vários recursos).Existem alguns blocos de código, como gravar exceções no log de eventos que devem ser executados como a conta do pool de aplicativos.

No SharePoint (que tem o asp.net configurado de maneira muito semelhante ao meu aplicativo da web), existe o SPSecurity.RunWithElevatedPrivileges.Isso garante que um bloco de código seja executado como a conta do pool de aplicativos.O equivalente em asp.net é o seguinte: -

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

Fonte

Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange
scroll top