如何在nodejs中设置ftp-srv的用户名和密码?

how to set username and password of ftp-srv in nodejs?

我正在使用 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 documentation

ftpServer.on('login', ({connection, username, password}, resolve, reject) => { ... });

当您收到登录事件时,您需要根据您决定的身份验证结果调用 resolve 或 reject。

如果您认为登录信息正确,请调用 resolve,向其传递一个包含相关详细信息的对象,例如:

resolve({root: '/path/to/files/accessible/via/ftp'})

另请注意,如果您在专用网络上进行本地测试,您可能应该使用本地 IP 或 127.0.0.1 作为主机名。 0.0.0.0 使其使用外部 IP 地址。

参考回答

像上面提到的你可以像这样检查用户名密码 如果密码和用户正确调用 resolve 否则调用 reject

  if(username === "lorem" && password === "ipsum"){
       // call resolve 
       resolve({});
    else{
      // if password and username are incorrectly then call reject
       reject({});
    }

参考这篇文章 https://stackoverrun.com/de/q/12681767