Wie starte ich einen thread in einem anderen Sicherheitskontext?
Wie man einen thread im Sicherheitskontext eines anderen Benutzers? Wenn ein Prozess einen thread startet normalerweise die security-Kontext ist auch bestanden, aber wie starte einen thread in einem anderen Sicherheitskontext mit dem AUFTRAGGEBER von einem anderen user?
Im Zusammenhang Beitrag - zum imitieren einer AD-Konto zu führen, ein Stück code, während eine Anwendung ausgeführt wird?
InformationsquelleAutor TrustyCoder | 2010-04-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube, dass Sie einfach die
CurrentPrincipal
als Erster Betrieb der thread-code, nachdem der thread gestartet wurde, und nur dann beginnen, um den code auszuführen, die soll laufen mit der anderen Hauptperson.Sollte dies kümmern .NETTO-Rolle-basierte Prüfungen. Wenn Sie brauchen, Identitätswechsel als auch für Anrufe in die OS, die Sie imitieren kann die
WindowsIdentity
.Code (kann oder kann nicht funktionieren - nicht getestet):
Warum sollte die
ExecutionContext
Strömung unterdrückt werden? Wenn Sie Identitätswechsel verwenden (wie ich es hier), dieSecurityContext
desExecutionContext
aktualisiert wird (überprüft mit Reflektor, dies geschieht in der internenUpdateThreadWI
Methode in der MS-Implementierung).haben, dass die Arbeit für die Frage, Fragesteller?
So erstellen Sie die
yourPrincipal
Objekt, das übergeben wurde, um dieStart
Methode?Für mich ist es wirft Fehler -
Unable to load DLL 'iphlpapi.dll': Exception from HRESULT: 0x80070542
beim ausführen des Codes nach der Identitätswechsel ist in Kraft getreten.InformationsquelleAutor Lucero
Habe ich verwendet Techniken like für den Identitätswechsel mit Erfolg.
InformationsquelleAutor Sky Sanders