0
我发现一些C#代码可以在线模拟用户,并且当我调用'WindowsIdentity.GetCurrent()'时它看起来工作正常。Name'我得到了模拟用户名。以模拟用户身份启动应用程序
但是,我通过代码运行应用程序,它使用我的详细信息加载,而不是模拟用户。
我运行应用程序的用户被模拟为这样
sResult += "After impersonation: " + WindowsIdentity.GetCurrent().Name + "\r\n";
Process myProcess = new Process();
myProcess.StartInfo.FileName = ConfigurationSettings.AppSettings["Program"];
myProcess.StartInfo.UseShellExecute = false;
myProcess.Start();
MessageBox.Show(this, sResult, "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
这是我使用http://www.codeproject.com/Articles/4051/Windows-Impersonation-using-C
所以模拟代码如何得到这个应用程序启动的模拟用户?
我不不知道你可以启动你的程序作为另一个用户没有他的密码。我的意思是,如果你能做到这一点,那么整个安全模型就毫无意义。这里似乎有一些很好的信息:http://stackoverflow.com/questions/559719/windows-impersonation-from-c-sharp – 2012-03-23 13:20:49
我有密码..我可以模仿用户就好了,但当进程运行它是像我一样奔跑... – 2012-03-28 10:50:11