在C#中,如何从域外访问域上的文件共享?

时间:2010-12-13 17:06:38

标签: c# file active-directory

我有一个人们上传文件的网络服务器。我需要做的是获取这些文件并将它们写入Active Directory域上的文件共享。问题 - 网络服务器不在域上。

那么,最好的方法是怎样做的?我本以为这会很简单,就像创建与某些凭据的连接并执行它一样。但显然不是。我发现的最接近的是WindowsIdentity.Impersonate的模拟,但我读过的所有内容都表明在生产环境中这是一个坏主意。

有什么想法吗?我正在开发一个FTP文件的解决方案,但这也不令人满意,还有一个后备计划。

我在(显然)Windows环境中使用c#和.net 4.0。

编辑:我应该指出,我无法运行访问该域外部的服务器(或服务)。 FTPing是一种临时解决方法。

3 个答案:

答案 0 :(得分:1)

我可能有另一个程序,可能是Windows服务从Web服务文件位置选择文件并将它们移动到活动目录目录。我可能会将这个过程从它们被复制到的位置执行。使它们在Web服务器上的共享中可用,仅对进程的用户和管理员可见。

答案 1 :(得分:0)

我认为FTP解决方案比使用Windows共享更好;但是,我认为某种类型的Web服务是域间文件交换的最佳选择。也就是说,如果你已经使用WindowsIdentity.Impersonate - 为什么不使用它呢?你读到了什么背景,这是一个坏主意?

答案 2 :(得分:0)

有没有办法可以将此文件共享映射为网络驱动程序。如果你能做到这一点,你就不需要管理安全性,并且可以非常容易地访问这些文件,就好像它们是本地文件一样。