假设我有一个网站,一旦用户选择了几个选项,(应该)会发生以下情况:

  • 从本地计算机中获取文件(在目录中) - 到目前为止工作正常
  • 将它们移至远程服务器 - 这是我需要帮助的地方

细节:

  • 将通过 UNC 路径 (\servername\xyz) 找到远程服务器
  • 我可以访问用户名/密码来访问该 UNC 路径,但由于我们位于不同的域中并且我无法控制 IT 的决策,因此我不能让单个用户在两个域中都具有权限。

我该如何设置我的网站来做到这一点?如果我冒充,那么我可能会失去在本地计算机上抓取文件的权限......

笔记:我还可以通过 FTP 访问远程服务器。如果有一个好的 FTP API 可供我使用,那也可以,但我不想遍历每个文件。

哦,这也是.NET 1.1。


这是对相关问题的建议:需要模拟用户访问网络资源、Asp.Net 帐户

有帮助吗?

解决方案

我以前做过这个跨域。您所需要的只是用户名和密码相同,即使它们位于不同的域中,这也会起作用。需要确保的是您的 .NET 应用程序正在以此用户身份运行。

例如:

  • 在域 XYZ 中有一个用户“filesynch”,密码“pass”
  • 在域 PDQ 中,有一个用户“filesynch”,密码为“pass”
  • 确保用户 PDQ\filesynch 有权在 PDQ 域中的计算机上共享
  • 以 XYZ\filesynch 用户身份在 XYZ 域中的计算机上运行应用程序
  • 通过网络复制文件

其他提示

这可以通过 unc 或 ftp 来完成。对于较早的(unc),您可以使用 File.Copy(source, target) - 对于后者,您可以使用几种技术。如果您将用户想要的内容存储在远程站点上的计算机上,您可以使用 Web 客户端 (System.Net.WebClient) 通过任何可访问的 url 下载文件(即:在 IIS 中打开文件浏览)。

如果您可以使用 .NET 2.0,您就有更好的选择和更可靠的对象(即:FtpRequest) - 有什么原因不能使用.NET 2.0吗?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top