FilersystemWatcher在模拟用户下运行

时间:2010-04-01 18:08:55

标签: c# impersonation filesystemwatcher

我有一个c#winform应用程序,它在本地帐户下运行但需要监视域上的文件夹。我使用来自here的略微修改的代码来复制文件,并且工作正常。类似的代码可以与FileSystemWatcher设置模拟一起使用,这样我就可以监控域上的文件夹吗?

2 个答案:

答案 0 :(得分:6)

是的,有一个很好的模拟类here,在您的项目中包含此类,而不是简单地将FileSystemWatcher放在这样的使用块中:

using ( new Impersonator( "myUsername", "myDomainname", "myPassword" ) )
{
   ...

   <code that executes under the new context>

   ...
}

答案 1 :(得分:1)

你可以:

将权限应用于允许非域用户访问的域文件夹(即Everyone。)

使用具有权限的域帐户登录并运行winform应用程序。

将FileSystemWatcher代码重构为Windows服务,并在具有足够权限的domian帐户下运行。

在现有代码中模拟域帐户,代码项目有几个很好的解决方案。