我正在尝试使用apache ftp服务器设置ftp服务器 http://mina.apache.org/ftpserver/
我想使用基于文件的管理,并且只有一个用户可以登录。 首先,我以这种方式创建文件:
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 :(得分:0)
好的,再一次“告诉你的泰迪熊”方法工作得很好。
我在发布后两分钟找到了解决方案。
不需要完成所有配置舞蹈,只需要设置用户管理器。
userManagerFactory.setFile(new File(propFile));
userManagerFactory.setPasswordEncryptor(new SaltedPasswordEncryptor());
UserManager um = userManagerFactory.createUserManager();
serverFactory.setUserManager(um);
这是我的整个加载配置方法。
希望这会对某人有所帮助。
我认为apache ftp服务器确实需要更多文档:S。