0

我正在尝试使用 apache ftp 服务器 http://mina.apache.org/ftpserver/设置一个 ftp 服务器

我想使用基于文件的管理,并且只有一个可以登录的用户。首先,我以这种方式创建文件:

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 服务器工作正常。

我想要的是能够设置此文件一次,然后只需加载属性文件,以便可以从代码中删除用户/密码。

我尝试了一段时间,但无法以这种方式运行任何东西。

任何帮助将不胜感激。提前谢谢你!

4

1 回答 1

0

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

我在发布后两分钟找到了解决方案。

无需进行所有配置,只需设置用户管理器。

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

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

希望这会对某人有所帮助。

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

于 2012-04-27T08:52:47.463 回答