Apache-Mina FTPServer 问题 — 使用数据库用户管理器时无法登录 Apache FTP 服务器

Apache-Mina FTPServer 问题 — 使用数据库用户管理器时无法登录 Apache FTP 服务器

使用数据库用户管理器时我无法login进入 apache ftp 服务器:输入用户名和密码时,日志文件中出现以下错误:

[ INFO] 2013-02-07 20:51:07,779 [] [0:0:0:0:0:0:0:1] RECEIVED: USER piyush
[ INFO] 2013-02-07 20:51:07,781 [piyush] [0:0:0:0:0:0:0:1] SENT: 331 User name okay, need password for piyush.

[ INFO] 2013-02-07 20:51:07,784 [piyush] [0:0:0:0:0:0:0:1] RECEIVED: PASS *****
[ WARN] 2013-02-07 20:51:07,785 [piyush] [0:0:0:0:0:0:0:1] User failed to log in
[ WARN] 2013-02-07 20:51:08,285 [piyush] [0:0:0:0:0:0:0:1] Login failure - piyush
[ INFO] 2013-02-07 20:51:08,286 [piyush] [0:0:0:0:0:0:0:1] SENT: 530 Authentication failed.

[ INFO] 2013-02-07 20:51:08,286 [piyush] [0:0:0:0:0:0:0:1] RECEIVED: QUIT
[ INFO] 2013-02-07 20:51:08,290 [piyush] [0:0:0:0:0:0:0:1] SENT: 221 Goodbye.

[ INFO] 2013-02-07 20:51:08,291 [piyush] [0:0:0:0:0:0:0:1] CLOSED

这是我的 xml 文件ftpd-典型.xml

<?xml version="1.0" encoding="UTF-8"?>
    <!--
        Licensed to the Apache Software Foundation (ASF) under one or more
        contributor license agreements. See the NOTICE file distributed with
        this work for additional information regarding copyright ownership.
        The ASF licenses this file to you under the Apache License, Version
        2.0 (the "License"); you may not use this file except in compliance
        with the License. You may obtain a copy of the License at
        http://www.apache.org/licenses/LICENSE-2.0 Unless required by
        applicable law or agreed to in writing, software distributed under the
        License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
        CONDITIONS OF ANY KIND, either express or implied. See the License for
        the specific language governing permissions and limitations under the
        License.
    -->
<server xmlns="http://mina.apache.org/ftpserver/spring/v1"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:beans="http://www.springframework.org/schema/beans"
    xsi:schemaLocation="
       http://mina.apache.org/ftpserver/spring/v1 http://mina.apache.org/ftpserver/ftpserver-1.0.xsd    
       "
    id="Prometheus">
    <listeners>
        <nio-listener name="default" port="2121" />
    </listeners>
    <db-user-manager encrypt-passwords="salted">
        <data-source>
            <beans:bean class="org.apache.commons.dbcp.BasicDataSource" >
                <beans:property name="driverClassName" value="com.mysql.jdbc.Driver" />
                <beans:property name="url" value="jdbc:mysql://localhost/apache_test" />
                <beans:property name="username" value="amy" />
                <beans:property name="password" value="piyush" />
            </beans:bean>
        </data-source>
        <insert-user>INSERT INTO FTP_USER (userid, userpassword,
            homedirectory, enableflag, writepermission, idletime, uploadrate,
            downloadrate) VALUES ('{userid}', '{userpassword}',
            '{homedirectory}',
            {enableflag}, {writepermission}, {idletime},
            {uploadrate},
            {downloadrate})
        </insert-user>
            <update-user>UPDATE FTP_USER SET
                userpassword='{userpassword}',homedirectory='{homedirectory}',enableflag={enableflag},writepermission={writepermission},idletime={idletime},uploadrate={uploadrate},downloadrate={downloadrate}
                WHERE userid='{userid}'
        </update-user>
            <delete-user>DELETE FROM FTP_USER WHERE userid = '{userid}'
        </delete-user>
            <select-user>SELECT userid, userpassword, homedirectory,
                enableflag, writepermission, idletime, uploadrate, downloadrate,
                maxloginnumber, maxloginperip FROM
                FTP_USER WHERE userid = '{userid}'
        </select-user>
            <select-all-users>SELECT userid FROM FTP_USER ORDER BY userid
        </select-all-users>
            <is-admin>SELECT userid FROM FTP_USER WHERE userid='{userid}'
                AND
                userid='admin'
        </is-admin>
            <authenticate>SELECT userpassword from FTP_USER WHERE
                userid='{userid}'</authenticate>
    </db-user-manager>
</server>

答案1

问题不是由于密码,可能是用户名无效,因此请检查 users.properties 文件中的用户名和密码。

文件:users.properties ftpserver.user.e101.userpassword=abs123

这里用户名=e101 密码=abs123

或 ftpserver.user.admin.userpassword=21232F297A57A5A743894A0E4A801FC3 此处用户名=admin 密码=XXXXXXXXXX

相关内容