Apache-Mina FTPServer 问题 - 身份验证失败但使用了正确的用户/密码……?

Apache-Mina FTPServer 问题 - 身份验证失败但使用了正确的用户/密码……?

我终于在以下的帮助下启动并运行了 Mina FTPServer费米(这里还有另一位用户)。

问题是这样的:

我在我的 Win2k3 服务器上通过 db-user-manager 设置了基于 SQL 的用户管理服务器,并在表中设置了两个用户:

john // password jim // password

它们都设置为下表属性:

userid      userpassword        homedirectory       enableflag      writepermission     idletime        uploadrate      downloadrate        maxloginnumber      maxloginperip
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
john        password            c:\pub\john         1               0                   30              1               NULL                5                   3
jim         password            c:\pub\jim          1               0                   30              1               NULL                5                   3

当使用正确的用户/密码组合 john//password 登录 FTP 服务器时,日志显示以下内容:

RECEIVED: USER john
SELECT userid, userpassword, homedirectory, enableflag, writepermission, idletime, uploadrate, downloadrate, maxloginnumber, maxloginperip FROM FTP_USER WHERE userid = 'john'
RECEIVED: PASS *****
SELECT userpassword FROM FTP_USER WHERE userid = 'john'
USER FAILED TO LOG IN
Login Failure - john
SENT: 331 user name okay, need password for john.
SENT: 530 authentication failed.
CLOSED

我确实知道我没有搞砸输入用户名或密码(因为它们太容易搞砸了......),并且提示我输入用户名和密码的事实告诉我我输入的主机是正确的......所以我还能在哪里搞砸呢......?

这是我最初帖子的链接,Femi 帮助了我。如果需要,它包含 xml 配置文件: https://stackoverflow.com/questions/6711542/apache-mina-ftpserver-database-user-manager-failure

有人可以帮帮我吗?

答案1

我注意到,在您的 xml 代码中,对于用户管理器标签,您只有

<db-user-manager>

在文档中,它显示为

<db-user-manager encrypt-passwords="salted">

我认为这是你的问题所在。由于你的代码中没有定义加密,它默认为 MD5。请将其更改为以下 3 个之一:

"Salted"

"MD5"

"Clear"

一切就绪。如果成功请告诉我。文档很愚蠢,说“不需要”,但我认为这是胡扯,因为如果不写,它会自动默认为 md5... 所以,如果你没有使用 MD5 加密密码,那么它在某种程度上是必需的。

相关内容