SPSecurity.RunWithElevatedPrivileges fait-il quelque chose dans une application console?

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

  •  02-07-2019
  •  | 
  •  

Question

D'après ce que j'ai glané du réflecteur, RunWithElevatedPriveleges rétablit simplement l'identité du thread en cours en identité de base (non empruntée). Cela est parfaitement logique dans le cas d'un code exécuté dans le pool d'applications WSS, car le compte de service de base est un super-utilisateur. Cela a-t-il un effet lors de l'exécution dans une application externe (console ou service), lorsqu'aucune usurpation d'identité n'existe? Je suppose que non, mais j'aimerais savoir à coup sûr. J'ai vu différentes opinions à ce sujet depuis Google.

Était-ce utile?

La solution

Normalement, Runwithelevatedprivileges fera exécuter votre code en tant qu'identité de pool d'applications, mais cela ne fonctionne pas à partir de la console. Dans ce cas, nous avons utilisé runas ou a définir l'identité d'une tâche planifiée sur le même compte que l'identité du pool d'applications.

Autres conseils

Je pense que ce serait le cas si vous exécutiez le fichier exécutable sous un compte puis modifiiez ses informations d'identification avec le code (comme le fait SP). Sinon, il ne peut pas accéder aux autorisations dont il ne disposait pas au départ sans moyen de générer un objet Informations d'identification.

RunWithElevatedPriveleges ne fonctionne pas lorsque HTTPContext a la valeur null. Dans la console, HTTPContext est null.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top