Ist es unter Windows möglich, eine einzelne Goroutine als anderen Benutzer auszuführen?

Wie delegieren Sie die Ausführung einer Goroutine unter Windows an ein anderes Konto, das kein Administrator ist? Ich sehe, Sie können dies auf @ t Linux usingsyscall.Setuid(). Ich kann nicht sehen, wie dies unter Windows mit dem Windows Syscall-Paket durchgeführt wird. Ich möchte in der Lage sein, das Konto festzulegen, unter dem die Goroutine ausgeführt wird, während das Programm ausgeführt wird. Ist das möglich

Bit Hintergrund: - Ich möchte den Benutzer wechseln, der die Goroutine ausführt, damit ich den Betriebssystembenutzer ändern kann, der während der Datenbankverbindung an Oracle übergeben wurde, wenn ich go-oci8 verwende (siehe mein anderesFrag). Ich muss eine Verbindung zur Datenbank herstellen und sie verwendet den angemeldeten Benutzer (OS-Benutzer) als Teil der Sicherheit. In Java kann ich die Umgebungsvariable während des Verbindungsaufbaus ändern (oder den Benutzernamen der Umgebungsvariablen durchblättern, wenn nur eine Verbindung für einen einzelnen Benutzer hergestellt wird).

Ich habe den Benutzernamen der Benutzerdatenbank (dieser stimmt mit dem Benutzernamen des Betriebssystems überein) und erhalte das Kennwort des Datenbankbenutzers. Ich habe kein Windows-Anmeldekennwort für den Benutzer. Ich hatte gehofft, in der Lage zu sein, das Ausführen einer Goroutine vom Haupt-Go-Programm, das als Administrator ausgeführt wird, an den erforderlichen Windows-Benutzer zu delegieren, ähnlich wie im Beispiel für die Linux-Portbindung, das ich hervorgehoben habe. Die Oracle-Anmeldung so zu ändern, dass kein Betriebssystembenutzer verwendet wird, ist keine Option. Wenn ich es nicht herausfinden kann, wird es zurück zu Java gesendet :-(.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage