2012-04-27 21 views
0

我尝试使用Apache FTP服务器建立FTP服务器的用户 http://mina.apache.org/ftpserver/检索user.properties

我想使用基于文件的管理,并具有可以登录只有一个用户。 起初,我创建文件是这样的:

String username = "ftp"; 
String password = "ftp"; 
String ftproot = "data";   

// prepares the user manager 
PropertiesUserManagerFactory userManagerFactory = new PropertiesUserManagerFactory(); 
userManagerFactory.setFile(new File(propFile)); 
userManagerFactory.setPasswordEncryptor(new SaltedPasswordEncryptor()); 
UserManager um = userManagerFactory.createUserManager(); 
// set up my user 
BaseUser user = new BaseUser(); 
user.setName(username); 
user.setPassword(password); 
user.setHomeDirectory(ftproot); 
List<Authority> authorities = new ArrayList<Authority>(); 
authorities.add(new WritePermission());   
user.setAuthorities(authorities); 

um.save(user); 
// adds the user 
serverFactory.setUserManager(um); 

文件似乎确定,和FTP服务器工作正常,如果我去完成这些步骤在每次启动时。

我希望能够设置这个文件一次,然后加载属性文件,以便用户/密码可以从代码中删除。

我尝试了一段时间,但不能得到任何这种方式来运行。

任何帮助将不胜感激。 先谢谢您!

+0

你使用的是'java.util.Properties'吗? – Ved 2012-04-27 08:34:57

+0

nope,我使用org.apache.ftpserver.FtpServer附带的文件管理器 – jlengrand 2012-04-27 08:49:19

回答

0

好吧,再次“告诉你的泰迪熊”方法工作得很好。

我发现发布后两分钟的解决方案。

而不是通过所有配置舞蹈,只需要设置用户管理器。

userManagerFactory.setFile(new File(propFile)); 
userManagerFactory.setPasswordEncryptor(new SaltedPasswordEncryptor()); 
UserManager um = userManagerFactory.createUserManager(); 
serverFactory.setUserManager(um); 

这是我整个加载的配置方法。

希望这会帮助别人。

我认为apache ftp服务器真的需要更多的文档:S。

+0

请分享你的属性文件。我不知道如何将用户添加到属性文件。 – 2013-10-15 05:17:07

+0

我不再使用这个,但是这里是一个例子的链接:http://mail-archives.apache.org/mod_mbox/mina-ftpserver-users/200901.mbox/%[email protected]。 COM%3E。希望这可以帮助 – jlengrand 2013-10-15 08:31:19