1.创建数据库及表

使用\apache-ftpserver-1.0.6\res\ftp-db.sql建表,内容如下:
  1. CREATE TABLE FTP_USER (
  2. userid VARCHAR(64) NOT NULL PRIMARY KEY,
  3. userpassword VARCHAR(64),
  4. homedirectory VARCHAR(128) NOT NULL,
  5. enableflag BOOLEAN DEFAULT TRUE,
  6. writepermission BOOLEAN DEFAULT FALSE,
  7. idletime INT DEFAULT 0,
  8. uploadrate INT DEFAULT 0,
  9. downloadrate INT DEFAULT 0,
  10. maxloginnumber INT DEFAULT 0,
  11. maxloginperip INT DEFAULT 0
  12. );
新建用户:insert into FTP_USER values("wch","123456","./res/home",,,,,,,);

 

2.修改ftpd-typical.xml

修改 \apache-ftpserver-1.0.6\res\conf\ftpd-typical.xml,注意xml命名空间部分:
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <serverxmlns="http://mina.apache.org/ftpserver/spring/v1"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:beans="http://www.springframework.org/schema/beans"
  5. xsi:schemaLocation="
  6. http://www.springframework.org/schema/beans
  7. http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
  8. http://mina.apache.org/ftpserver/spring/v1
  9. http://mina.apache.org/ftpserver/ftpserver-1.0.xsd"
  10. id="myServer">
  11. <listeners>
  12. <!-- 设置默认端口是2121,可以修改为自己的端口 -->
  13. <nio-listenername="default"port="2121">
  14. <ssl>
  15. <keystorefile="./res/ftpserver.jks"password="password"/>
  16. </ssl>
  17. </nio-listener>
  18. </listeners>
  19. <!-- 设置用户配置文件以及,密码是否加密 -->
  20. <!-- <file-user-manager file="./res/conf/users.properties" encrypt-passwords="clear"/> -->
  21. <!-- 设置数据库管理用户 -->
  22. <db-user-managerencrypt-passwords="clear">
  23. <!-- 数据源信息,ftpserver为MySQL数据库名称,root/wch,为用户名以及密码 -->
  24. <data-source>
  25. <beans:beanclass="org.apache.commons.dbcp.BasicDataSource">
  26. <beans:propertyname="driverClassName"value="com.mysql.jdbc.Driver"/>
  27. <beans:propertyname="url"value="jdbc:mysql://127.0.0.1/webframe"/>
  28. <beans:propertyname="username"value="root"/>
  29. <beans:propertyname="password"value="wch"/>
  30. </beans:bean>
  31. </data-source>
  32. <insert-user>
  33. INSERT INTO FTP_USER( userid, userpassword, homedirectory, enableflag, writepermission, idletime, uploadrate, downloadrate )
  34. VALUES ( '{userid}', '{userpassword}', '{homedirectory}', {enableflag}, {writepermission}, {idletime}, {uploadrate}, {downloadrate} )
  35. </insert-user>
  36. <update-user>
  37. UPDATE FTP_USER SET userpassword='{userpassword}',
  38. homedirectory='{homedirectory}',
  39. enableflag={enableflag},
  40. writepermission={writepermission},
  41. idletime={idletime},
  42. uploadrate={uploadrate},
  43. downloadrate={downloadrate}
  44. WHERE userid='{userid}'
  45. </update-user>
  46. <delete-user>
  47. DELETE FROM FTP_USER WHERE userid = '{userid}'
  48. </delete-user>
  49. <select-user>
  50. SELECT userid, userpassword, homedirectory, enableflag,
  51. writepermission, idletime, uploadrate, downloadrate,
  52. maxloginnumber, maxloginperip FROM FTP_USER WHERE userid = '{userid}'
  53. </select-user>
  54. <select-all-users>
  55. SELECT userid FROM FTP_USER ORDER BY userid
  56. </select-all-users>
  57. <is-admin>
  58. SELECT userid FROM FTP_USER WHERE userid='{userid}' AND userid='admin'
  59. </is-admin>
  60. <authenticate>
  61. SELECT userpassword from FTP_USER WHERE userid='{userid}'
  62. </authenticate>
  63. </db-user-manager>
  64. </server>
 

3.增加依赖的jar文件

增加数据库连接需要使用的jar,下载3个jar包到目录apache-ftpserver-1.0.6/common/lib: commons-dbcp-1.x.x.jar、commons-pool-1.x.jar、mysql-connector-java-xxx.jar如下:
 

4.启动FTPServer

运行命令:ftpd.bat res/conf/ftpd-typical.xml,使用DB方式建议将文件ftpd-typical.xml改名为ftpd-db.xml,如下图:
------------------------------------------------------------------------------------------------------------------------------- 

02.Apache FtpServer使用数据库管理用户的更多相关文章

  1. 利用apache ftpserver搭建ftp服务器

    操作环境: win2012r2 x64 datacenter Apache FtpServer 1.2.0 Java SE Development Kit 8u333 commons-dbcp2-2. ...

  2. Apache FtpServer扩展【动手实现自己的业务】

    Apache FtpServer是当下最热门的走ftp协议的用于用户上传下载的服务器. 官网http://mina.apache.org/ftpserver-project/   一般来说,用的话,去 ...

  3. 01.Apache FtpServer配置

    1.解压Apache FTPServer 将下载下来的压缩包(ftpserver-1.0.6.zip)解压到本地,其目录结构如下图: 2.修改users.properties 修改 \apache-f ...

  4. apache FtpServer整合spring逻辑处理

    上面我们的部署工作完成了,那么文件上传下载后,ftpserver会自动相应我们的上传下载操作,也就是说ftpServer服务器会得到触发,那么我们如果要得到文件的一些信息,比如说文件的路径.大小.类型 ...

  5. (转载)Windows 上搭建Apache FtpServer

    因工作需要,最近经常接触到FTP,今天我来介绍一个开源的FTP服务器,那就是Apache FTPServer,Apache FTPServer是一个100%纯Java的FTP服务器. 它的设计是基于现 ...

  6. android学习:Android上面部署Apache FTPServer

    经过了几天的研究,终于Apache FTPServer在Android的配置和使用上有了一些心得,现在分享出来,提供给大家参考,说到这儿又不得不吐槽一下这要命的转载了,找Apache FTPServe ...

  7. Windows 上搭建Apache FtpServer

    阅读目录 第一步:下载Apache FTPServer 第二步:解压Apache FTPServer 第三步:修改配置文件 第四步:启动FTPServer 第五步:访问FTP 第六步:FTPServe ...

  8. springboot整合apache ftpserver详细教程(看这一篇就够了)

    原创不易,如需转载,请注明出处https://www.cnblogs.com/baixianlong/p/12192425.html,否则将追究法律责任!!! 一.Apache ftpserver相关 ...

  9. apache FtpServer 整合spring部署

    我们在项目中可能会出现这样的需求,使用ftp上传很大的文件后对需要对文件进行相应的逻辑处理,这时我们可以使用apache ftpServer来处理这段逻辑,只要我们做相应的部署和编写我们的逻辑代码,这 ...

随机推荐

  1. [leetcode]_Integer to Roman

    题目:对应之前那道将罗马数字转换整型数字的题目.反过来. 思路:刚开始做的时候,想着用程序进行判断,复杂的要死.网络了别人代码,非常清晰. 代码: 1 public String intToRoman ...

  2. kettle的hello world

    本篇介绍使用kettle的一个最简单的例子,可以初步了解下转换. 需求是这样的: 存在一个本地csv文件,文件的内容如下 现在需要将csv中的数据保存到本地的文本文件中 1.创建一个转换,并且重命名 ...

  3. phpMyAdmin安装

    phpMyAdmin是MySql的一个Web操作界面. phpMyAdmin官网貌似被和谐了,经常无法访问.不过我们可以从GitHub下载phpMyAdmin. 然后解压,搭建与普通的PHP网站一样. ...

  4. PHP 下载文件时自动添加bom头的方法

    首先弄清楚,什么是bom头?在Windows下用记事本之类的程序将文本文件保存为UTF-8格式时,记事本会在文件头前面加上几个不可见的字符(EF BB BF),就是所谓的BOM(Byte order ...

  5. PHP加密解密函数

    <?php/***功能:对字符串进行加密处理*参数一:需要加密的内容*参数二:密钥*/function passport_encrypt($str,$key){ //加密函数 srand((do ...

  6. ASP.NET MVC5学习笔记之Controller执行ControllerDescriptor和ActionDescriptor

    一. ControllerDescriptor说明 ControllerDescriptor是一个抽象类,它定义的接口代码如下: public abstract class ControllerDes ...

  7. Java学习中,常用的命令管理(Java 学习中的小记录)

    Java学习中,常用的命令管理      作者:王可利(Star·星星) 一.Window中常见的dos命令 在哪里操作dos命令: Win7 ---> 开始  ---->所有程序---& ...

  8. C/C++ 关于大小端模式

    大端模式:  数据的高字节存在低地址  数据的低字节存在高地址 小端模式:  数据的高字节存在高地址  数据的低字节存在低地址 如图,i为int类型占4个字节,但只有1个字节的值为1,另外3个字节值为 ...

  9. kettle过滤、生成随机数、改变开始复制数量

    下面是一个用Kettle实现数据过滤.生成随机数.改变开始复制数量的连贯示意图. 首先,我们将控件一一建立,通过hop建立连接 下面对每一个控件进行设置 1.生成随机数控件(随机取一个数字与字符串) ...

  10. C#中的索引

    索引代码示例:                 索引的使用示例:                       索引在经过编译器编译之后就相当于一个属性,进一步的说就是两个方法.       一个类允许 ...