#sftp #filezilla #rebex
Вопрос:
В настоящее время я работаю над приложением, которое использует SFTP. Наши пользователи используют клиент FileZilla для загрузки файлов, которые хранятся в хранилище Azure, а затем эти файлы обрабатываются нашим api. В настоящее время мы обнаружили ошибку, когда файл от пользователя A был сохранен в каталоге пользователя B(его там не должно быть). Я хотел бы смоделировать процесс, в котором пользователь проходит аутентификацию через filezilla в моей локальной среде, а затем загружает файлы. Когда я отлаживал код, он всегда доходил до этого пункта ниже, но я не могу войти в код. Я предполагаю, что если я войду в файловую систему и нажму кнопку quickconnect, она автоматически достигнет точки останова, в которой пользователь проходит аутентификацию, но я не смог этого сделать. Как вы отлаживаете это в своей локальной среде. Подумайте об этом как о локальном хосте в веб-разработке, как мне добиться такой же функциональности, я хотел бы просто войти в систему и посмотреть, что находится внутри этого кода.
server = new FileServer();
// Я хочу войти в это и посмотреть, что внутри, как вызвать это событие???
server.Authentication = (sender, e) =>
{
MyDbUser myUser;
// try authenticating the user against a custom user database
if (MyUserDatabase.TryAuthenticate(
e.UserName, e.Password, out myUser))
{
// construct a user object
var user = new FileServerUser(myUser.UserName, null, myUser.VirtualRoot);
// accept authentication attempt with this user object
e.Accept(user);
}
else
{
// reject authentication attempt
e.Reject();
}
};
Комментарии:
1. Файловый сервер приходит из ссылки на Rebex.Net.Server
Ответ №1:
Итак, чтобы войти в это событие, вам нужно запустить приложение в локальной среде, а при запуске сервера выбрать sftp и целевой порт 22. Затем вы должны разрешить входящее правило брандмауэра для этого порта(не забудьте отключить его, как только вы остановите сеанс отладки). В filezilla вы должны использовать 127.0.0.1 в качестве хоста, а затем просто ввести свое имя пользователя и пароль, которые будут проверены на соответствие вашей пользовательской аутентификации. Таким образом, вы можете запустить его в своей локальной среде. Как только вы нажмете кнопку quickconnect, она попадет в точку останова внутри сервера.Идентификация