2010-07-28 35 views
0

我正在研究在服務器上安裝軟件的Web應用程序。如何以用戶身份啓動進程然後在c#中提升ASP.NET

我可以手動運行安裝,如果我登錄一個特定組的用戶,然後以管理員身份運行安裝msi。

此特定組是本地管理員組的一部分。

我的應用程序池正在作爲Network_Service運行。

我模仿然後使用runAs動詞嗎?但後來我需要知道u/p作爲用戶和管理員的u/p ..我認爲

我正在使用System.Diagnostics.Process類。

 System.Diagnostics.ProcessStartInfo oInfo = new System.Diagnostics.ProcessStartInfo(str); 
     oInfo.UseShellExecute = false; 
     oInfo.ErrorDialog = false; 
     oInfo.CreateNoWindow = false; 
     oInfo.RedirectStandardOutput = true; 


     Process p = System.Diagnostics.Process.Start(oInfo); 

     System.IO.StreamReader oReader2 = p.StandardOutput; 
     string sRes = oReader2.ReadToEnd(); 
     oReader2.Close(); 
    return sRes; 

回答

0

您需要設置UserNamePassword屬性管理員帳戶的登錄憑據。

0

您以後不能更改正在運行的進程的用戶上下文。我建議你使用Windows身份驗證和模擬,以確保Web請求作爲經過身份驗證的用戶執行,除此之外,您不必關心用戶憑證。