2012-03-23 46 views
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

所以模拟代码如何得到这个应用程序启动的模拟用户?

+1

我不不知道你可以启动你的程序作为另一个用户没有他的密码。我的意思是,如果你能做到这一点,那么整个安全模型就毫无意义。这里似乎有一些很好的信息:http://stackoverflow.com/questions/559719/windows-impersonation-from-c-sharp – 2012-03-23 13:20:49

+0

我有密码..我可以模仿用户就好了,但当进程运行它是像我一样奔跑... – 2012-03-28 10:50:11

回答

相关问题