Загрузка FTPS с изоляцией пользователя

Я настроил FTPS с изоляцией пользователей в IIS 7. Я пытаюсь загрузить файлы через FtpWebRequest в .NET в каталог определенного пользователя. Я предположил, что если я использую учетные данные для подключения User1, он автоматически поместит файл в папку User1. Проблема в том, что файлы помещаются в мой корневой каталог, а не в папку для контекстного пользователя.

У меня есть FTP-сайт для корневого веб-сайта, поэтому я понимаю, почему он это делает. FTP веб-сайта работает на порту 21, но этот изолированный пользовательский FTP-сайт находится на порту 990 (неявный TLS). Как я могу загружать файлы прямо в папку пользователя? Использование пути не работает ([ipaddress] / user1), и я не могу добавить порт в URI. ([ipaddress]: 990)


person OrangeKrush    schedule 26.06.2014    source источник


Ответы (1)


Я смог решить эту проблему с помощью AlexFTPS:

По сути, эта библиотека классов позволяет вам указать, что FTP-соединение должно использовать неявный TLS, тем самым используя порт 990 по умолчанию. В противном случае это не могло быть указано в .NET (например, как часть имени хоста). Это позволило мне загрузить файл в каталог определенного пользователя на основе переданных учетных данных. Это также работает, если у вас есть стандартный FTP-сайт на порту 21.

Для базового кода ...

AlexFTPSInstance.Connect (["FtpHost"], новый NetworkCredential (["FtpUsername"], ["FtpPassword"]), ESSLSupportMode.CredentialsRequired | ESSLSupportMode.DataChannelRequested | ESSLSupportMode);

client.PutFile (["LocalFileDirectory / LocalFileName"], ["ServerFileDirectory / ServerFileName"]);

AlexFTPS можно получить здесь - https://ftps.codeplex.com/

person OrangeKrush    schedule 09.07.2014