02.Apache FtpServer使用数据库管理用户
1.创建数据库及表
CREATE TABLE FTP_USER (userid VARCHAR(64) NOT NULL PRIMARY KEY,userpassword VARCHAR(64),homedirectory VARCHAR(128) NOT NULL,enableflag BOOLEAN DEFAULT TRUE,writepermission BOOLEAN DEFAULT FALSE,idletime INT DEFAULT 0,uploadrate INT DEFAULT 0,downloadrate INT DEFAULT 0,maxloginnumber INT DEFAULT 0,maxloginperip INT DEFAULT 0);
2.修改ftpd-typical.xml
<?xml version="1.0" encoding="UTF-8"?><serverxmlns="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://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-2.5.xsdhttp://mina.apache.org/ftpserver/spring/v1http://mina.apache.org/ftpserver/ftpserver-1.0.xsd"id="myServer"><listeners><!-- 设置默认端口是2121,可以修改为自己的端口 --><nio-listenername="default"port="2121"><ssl><keystorefile="./res/ftpserver.jks"password="password"/></ssl></nio-listener></listeners><!-- 设置用户配置文件以及,密码是否加密 --><!-- <file-user-manager file="./res/conf/users.properties" encrypt-passwords="clear"/> --><!-- 设置数据库管理用户 --><db-user-managerencrypt-passwords="clear"><!-- 数据源信息,ftpserver为MySQL数据库名称,root/wch,为用户名以及密码 --><data-source><beans:beanclass="org.apache.commons.dbcp.BasicDataSource"><beans:propertyname="driverClassName"value="com.mysql.jdbc.Driver"/><beans:propertyname="url"value="jdbc:mysql://127.0.0.1/webframe"/><beans:propertyname="username"value="root"/><beans:propertyname="password"value="wch"/></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>
3.增加依赖的jar文件

4.启动FTPServer

02.Apache FtpServer使用数据库管理用户的更多相关文章
- 利用apache ftpserver搭建ftp服务器
操作环境: win2012r2 x64 datacenter Apache FtpServer 1.2.0 Java SE Development Kit 8u333 commons-dbcp2-2. ...
- Apache FtpServer扩展【动手实现自己的业务】
Apache FtpServer是当下最热门的走ftp协议的用于用户上传下载的服务器. 官网http://mina.apache.org/ftpserver-project/ 一般来说,用的话,去 ...
- 01.Apache FtpServer配置
1.解压Apache FTPServer 将下载下来的压缩包(ftpserver-1.0.6.zip)解压到本地,其目录结构如下图: 2.修改users.properties 修改 \apache-f ...
- apache FtpServer整合spring逻辑处理
上面我们的部署工作完成了,那么文件上传下载后,ftpserver会自动相应我们的上传下载操作,也就是说ftpServer服务器会得到触发,那么我们如果要得到文件的一些信息,比如说文件的路径.大小.类型 ...
- (转载)Windows 上搭建Apache FtpServer
因工作需要,最近经常接触到FTP,今天我来介绍一个开源的FTP服务器,那就是Apache FTPServer,Apache FTPServer是一个100%纯Java的FTP服务器. 它的设计是基于现 ...
- android学习:Android上面部署Apache FTPServer
经过了几天的研究,终于Apache FTPServer在Android的配置和使用上有了一些心得,现在分享出来,提供给大家参考,说到这儿又不得不吐槽一下这要命的转载了,找Apache FTPServe ...
- Windows 上搭建Apache FtpServer
阅读目录 第一步:下载Apache FTPServer 第二步:解压Apache FTPServer 第三步:修改配置文件 第四步:启动FTPServer 第五步:访问FTP 第六步:FTPServe ...
- springboot整合apache ftpserver详细教程(看这一篇就够了)
原创不易,如需转载,请注明出处https://www.cnblogs.com/baixianlong/p/12192425.html,否则将追究法律责任!!! 一.Apache ftpserver相关 ...
- apache FtpServer 整合spring部署
我们在项目中可能会出现这样的需求,使用ftp上传很大的文件后对需要对文件进行相应的逻辑处理,这时我们可以使用apache ftpServer来处理这段逻辑,只要我们做相应的部署和编写我们的逻辑代码,这 ...
随机推荐
- Windows2008下搭建NFS实现windows空间提供linux使用
我们既然是要把Windows 的硬盘给Linux使用 就需要在Windows上安装NFS网络文件系统 操作如下 1.添加角色-----文件服务---勾选网络文件服务 2.安装完成后 我们需要把这30 ...
- Target Operator ID has No Access to Upgrade
If you are attempting to migrate a project between environments through application designer you mig ...
- angularJS 数组更新时重新排序之解决方案一:这个坑,绕开吧,不跳了……
今天产品大人发现了一bug,图表数据和数据库总是对不上,原因是当前端更新数组时,angularJS默认对数组进行了排序. // 点击事件:input复选框 $scope.fnClickUpdateAr ...
- luigi学习2-在hadoop上运行Top Artists
一.AggregateArtistsHadoop class AggregateArtistsHadoop(luigi.contrib.hadoop.JobTask): date_interval = ...
- PHP preg_replace() 正则替换所有符合条件的字符串示例
PHP preg_replace() 正则替换,与Javascript 正则替换不同,PHP preg_replace() 默认就是替换所有符号匹配条件的元素. 需要用程序处理的数据并不总是预先以数 ...
- Nginx Location配置语法介绍、优先级说明
nginx 语法规则:location [=|~|~*|^~|!~|!~*] /uri/ { … } location匹配的是$document_uri,$document_uri 会随 ...
- Laravel 5 基础(六)- 数据库迁移(Migrations)
database migrations 是laravel最强大的功能之一.数据库迁移可以理解为数据库的版本控制器. 在 database/migrations 目录中包含两个迁移文件,一个建立用户表, ...
- PHP中英文字符串截取函数无乱码(mb_substr)和获取中英文字符串字数函数(mb_strlen)
mb_substr( $str, $start, $length, $encoding ) $str,需要截断的字符串 $start,截断开始处,起始处为0 $length,要截取的字数 $encod ...
- Javascript 插件统一的实现步骤
步骤: // 1. 定义立即调用的函数 +function($){ "use strict"; //使用严格模式ES5支持 //后续步骤 // 2. xx 插件类及原型方法的定义 ...
- 2016/09/21 java关键字static
1.static方法 static方法一般称作静态方法,由于静态方法不依赖于任何对象就可以进行访问,因此对于静态方法来说,是没有this的,因为它不依附于任何对象,既然都没有对象,就谈不上th ...