2012-04-27 51 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