我正在使用ftp-srv软件包创建ftp服务器。
这是我的代码:
const FtpSvr = require ( 'ftp-srv' );
const hostname = '0.0.0.0';
const port = 5053
const ftpServer = new FtpSvr ({
url:'ftp://' + hostname + ':' + port ,
anonymous: false,
greeting : [ "Hello Jong"]
});
ftpServer.listen()
.then(() =>
{
console.log ( `Server Running at ftp://${hostname}:${port}/` );
});
我不知道如何设置ftp用户的用户名和密码!
我发现了一个名为“登录”的事件处理程序。
ftpServer.on('login', ({connection, username, password}, resolve, reject) => { ... });
但我不知道如何使用它!:(
参考ftp-srv文档
ftpServer.on('login', ({connection, username, password}, resolve, reject) => { ... });
当您收到登录事件时,您需要根据您决定的身份验证结果来调用解决或拒绝。
如果您认为登录信息正确,请调用resolve,并向其传递具有相关详细信息的对象,例如:
resolve({root: '/path/to/files/accessible/via/ftp'})
还要注意,如果要在专用网络上进行本地测试,则可能应该使用本地IP或127.0.0.1作为主机名。0.0.0.0使其使用外部IP地址。
参考这个答案
像上面提到的,您可以像这样检查用户名和密码,如果密码和用户是正确的呼叫解析,否则呼叫拒绝
if(username === "lorem" && password === "ipsum"){
// call resolve
resolve({});
else{
// if password and username are incorrectly then call reject
reject({});
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句