c#冒充问题

时间:2011-06-29 08:35:57

标签: c# process impersonation

我有一个运行执行批处理文件的方法。这一直有效,直到我实现IIS7集成管道身份验证,限制访问我的应用程序中托管的任何静态文件。

我后来发现添加了这个更改,该进程试图通过NETWORK SERVICE帐户而不是我的web.config中的模拟令牌执行。

我是否有任何理由强迫该方法使用模拟用户?

修改

当然,现在我已经实现了集成管道,应用程序将批处理文件视为静态文件,并试图通过令人烦恼的用户帐户访问它,该用户帐户设置为应用程序池标识,而后者又使用NETWORK SERVICE帐户

文件位于硬盘驱动器上的单独类库目录中,而不是通过应用程序托管。我试图通过将它们添加到我的应用程序中的文件夹来纠正这个问题,希望现在集成的管道可以看到用户已经过身份验证并允许访问。情况并非如此,批处理文件仍然使用烦人的身份验证帐户执行。 :(

谢谢!

1 个答案:

答案 0 :(得分:1)

如果有人到这里,我建议前往这个网站

http://blogs.msdn.com/b/alejacma/archive/2007/12/20/how-to-call-createprocesswithlogonw-createprocessasuser-in-net.aspx

我发现createprocessasuser方法有效。但是现在我正在努力使用管道来获得所述方法的标准输出。我正在使用这篇文章来帮助解决这个问题,

How to get standard output from CreateProcessWithLogonW?

希望这有帮助!