Frage

Von dem, was ich aus Reflektor aufgelesen habe, kehrt RunWithElevatedPriveleges einfach die aktuelle Thread Identität an die Basis (nicht imitierte) Identität. Das macht durchaus Sinn, im Fall von Code innerhalb des WSS-Anwendungspools ausgeführt wird, da das Basisdienstkonto ein Super-User ist. Hat es eine Wirkung haben, wenn sie in einer externen (Konsole oder Service) Anwendung ausgeführt wird, wenn kein Identitätswechsel existiert? Ich vermute nicht, aber ich möchte sicher wissen. Ich habe auf diesem von googeln unterschiedlichen Meinungen gesehen.

War es hilfreich?

Lösung

Normalerweise RunWithElevatedPrivileges wird Ihren Code ausgeführt werden wie die App-Pool Identität, aber es funktioniert nicht von der Konsole. Was wir in diesem Fall geschehen ist entweder verwenden runas oder eine die Identität einer geplanten Aufgabe auf das gleiche Konto wie der App Pool Identität festgelegt.

Andere Tipps

Ich denke, es wäre, wenn Sie die ausführbare Datei unter einem Account lief und änderte dann die Anmeldeinformationen mit Code (wie SP tut). Andernfalls kann es nicht zu Berechtigungen erhebt sie nicht ohne irgendeine Weise am Anfang haben Objekt ein Credentials erzeugen kann.

RunWithElevatedPriveleges funktionieren nicht, wenn Httpcontext null ist. In Konsole ist Httpcontext null.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top