Как переместить файлы с одного компьютера на другой, используя ASP.NET? - PullRequest
0 голосов
/ 15 октября 2008

Допустим, у меня есть сайт, на котором, когда пользователь выбирает несколько вариантов, происходит следующее (должно):

  • Захватывает файлы (в каталоге) с локального компьютера - пока работает нормально
  • Перемещает их на удаленный сервер - вот где мне нужна помощь

подробности:

  • Удаленный сервер будет найден по пути UNC (\ имя_сервера \ xyz)
  • У меня есть доступ к имени пользователя / паролю для доступа к этому UNC-пути, но, поскольку мы находимся в другом домене, и я не контролирую решения ИТ, у меня не может быть одного пользователя, который имеет разрешения в обоих доменах. 1014 *

Как мне настроить мой сайт для этого? Если я имитирую, то могу потерять права на захват файлов на локальном компьютере ...

Примечание. У меня также есть FTP-доступ к удаленному серверу. Если есть хороший FTP API, который я мог бы использовать, он бы тоже работал, но я не хочу перебирать каждый файл.

О, это тоже .NET 1.1.


Это предложение по связанному вопросу: Необходимо выдать себя за пользователя для доступа к сетевому ресурсу, учетной записи Asp.Net

Ответы [ 2 ]

2 голосов
/ 15 октября 2008

Я делал этот кросс-домен раньше. Все, что вам нужно, это чтобы имя пользователя и пароль были одинаковыми, и это будет работать, даже если они находятся в разных доменах. Главное, чтобы ваше приложение .NET работало под этим пользователем.

Например:

  • В домене XYZ есть пользователь "filesynch" с паролем "pass"
  • В домене PDQ есть пользователь "filesynch" с паролем "pass"
  • Убедитесь, что у пользователя PDQ \ filesynch есть доступ к общей папке на компьютере в домене PDQ
  • Запуск приложения на компьютере в домене XYZ от имени пользователя XYZ \ filesynch
  • Копирование файлов по сети
1 голос
/ 15 октября 2008

Это можно сделать с помощью unc или ftp. Для более раннего (unc) вы можете использовать File.Copy (source, target) - для последнего вы можете использовать несколько приемов. Если вы сохраняете то, что пользователь хотел от машины на удаленном сайте, вы можете использовать веб-клиент (System.Net.WebClient) для загрузки файлов через любой доступный URL-адрес (например, включить просмотр файлов в IIS).

Если вы можете использовать .NET 2.0, у вас есть лучшие варианты с более надежными объектами (например, FtpRequest) - есть ли резон, почему вы не можете использовать .NET 2.0?

...