Será SPSecurity.RunWithElevatedPrivileges fazer qualquer coisa em um aplicativo de console?

StackOverflow https://stackoverflow.com/questions/121504

  •  02-07-2019
  •  | 
  •  

Pergunta

Pelo que tenho adquirida a partir refletor, RunWithElevatedPriveleges simplesmente reverte a identidade thread atual para a (não representada) a identidade base. Isso faz sentido no caso do código em execução dentro do pool de aplicativos WSS, já que a conta do serviço de base é um super-usuário. Será que ela tem qualquer efeito quando executado em um aplicativo externo (serviço de console ou), quando não existe representação? Eu estou supondo que não, mas eu gostaria de saber com certeza. Eu vi diferentes opiniões sobre isso pesquisando.

Foi útil?

Solução

Normalmente RunWithElevatedPrivileges vai ter o seu código em execução como a identidade do pool de aplicativo, mas ele não funciona a partir do console. O que nós fizemos neste caso é tanto para uso runas ou a definir a identidade de uma tarefa agendada para a mesma conta como a identidade do pool de aplicativo.

Outras dicas

Eu acho que seria se você executou o executável sob uma conta e, em seguida, mudou de credenciais com código (como SP faz). Caso contrário, não pode elevar as permissões que não tinha no início sem alguma forma de gerar um objeto Credenciais.

RunWithElevatedPriveleges não funcionam quando HttpContext é null. No console, HttpContext é null.

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