【问题标题】:how to start a process as user then elevate in c# ASP.NET如何以用户身份启动进程然后在 c# ASP.NET 中提升
【发布时间】:2011-06-10 20:29:54
【问题描述】:

我正在开发一个在服务器上安装软件的网络应用程序。

如果我登录特定组中的用户,然后以管理员身份运行 install 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;

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    您需要将UserNamePassword 属性设置为管理员帐户的登录凭据。

    【讨论】:

      【解决方案2】:

      您以后无法更改正在运行的进程的用户上下文。我建议您使用 Windows 身份验证和模拟来确保 Web 请求以经过身份验证的用户身份执行,此外您不必关心用户凭据。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-03-06
        • 2013-09-18
        • 1970-01-01
        • 2013-02-04
        • 1970-01-01
        • 2011-06-05
        • 1970-01-01
        相关资源
        最近更新 更多