Prozessstart und Identitätswechsel

Ich habe Probleme beim Starten von Prozessen in einem imitierten Kontext in ASP.NET 2.0.,

Ich starte einen neuen Prozess in meinem Webservice-Code. IIS 5.1, .NET 2.0

[WebMethod]
public string HelloWorld()
{
    string path = @"C:\KB\GetWindowUser.exe";
    ProcessStartInfo startInfo = new ProcessStartInfo();
    startInfo.WorkingDirectory = Path.GetDirectoryName(path);
    startInfo.FileName = path;
    startInfo.UseShellExecute = false;
    startInfo.CreateNoWindow = true;
    startInfo.ErrorDialog = false;
    startInfo.RedirectStandardOutput = true;
    startInfo.RedirectStandardError = true;
    Process docCreateProcess = Process.Start(startInfo);

    string errors = docCreateProcess.StandardError.ReadToEnd();
    string output = docCreateProcess.StandardOutput.ReadToEnd();
}

Die Konsolenanwendung "C: \ KB \ GetWindowUser.exe" enthält den folgenden Code:

static void Main(string[] args)
{
    Console.WriteLine("Windows: " + WindowsIdentity.GetCurrent().Name);
}

Wenn ich den Webdienst ohne Identitätswechsel aufrufe, funktioniert alles einwandfrei.

Wenn ich den Identitätswechsel aktiviere, wird der folgende Fehler in die Variable "errors" im Webdienstcode geschrieben:

Unhandled Exception: System.Security.SecurityException: Zugriff verweigert. \ R \ n \ r \ n bei System.Security.Principal.WindowsIdentity.GetCurrentInternal (TokenAccessLevels desiredAccess, Boolean threadOnly) \ r \ n bei System.Security.Principal. WindowsIdentity.GetCurrent () \ r \ n um ObfuscatedMdc.Program.Main (String [] args) \ r \ nDie Zone der fehlgeschlagenen Assembly war: \ r \ nMyComputer

Impersonierter Benutzer ist lokaler Administrator und hat Zugriff auf die ausführbare Datei C: \ KB \ GetWindowUser.exe.

Wenn ich einen Fensterbenutzer explizit in den ProcesStartInfo-Eigenschaften Domain, User und Password spezifiziere, erhalte ich folgende Meldung:http: //img201.imageshack.us/img201/5870/pstartah8.jp

Ist es möglich, einen Prozess mit anderen Anmeldeinformationen als ASPNET von asp.net (IIS 5.1) aus zu starten?

Antworten auf die Frage(8)

Ihre Antwort auf die Frage