我有一个运行在本地账户下的c# winform应用程序,但需要监视域上的文件夹。我正在使用稍微修改过的代码来自这里来复制文件,这个方法很好用。是否可以使用类似的代码与FileSystemWatcher设置身份验证,以便我可以监视域上的文件夹?
我有一个运行在本地账户下的c# winform应用程序,但需要监视域上的文件夹。我正在使用稍微修改过的代码来自这里来复制文件,这个方法很好用。是否可以使用类似的代码与FileSystemWatcher设置身份验证,以便我可以监视域上的文件夹?
是的,这里有一个很好的模拟类(点击此处),将这个类包含到您的项目中,然后像这样在using块中放置您的FileSystemWatcher:
using ( new Impersonator( "myUsername", "myDomainname", "myPassword" ) )
{
...
<code that executes under the new context>
...
}
你可以:
将权限应用于域文件夹,以允许非域用户访问(即“所有人”)。
使用具有权限的域帐户登录并运行winform应用程序。
重构FileSystemWatcher代码为Windows服务,并在具有足够权限的域帐户下运行它。
在现有代码中模拟域帐户,Code Project上有几个好的解决方案。