从user.properties中检索用户

时间:2012-04-27 08:31:25

标签: java apache ftp ftp-server

我正在尝试使用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服务器可以正常工作。

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

我尝试了一段时间,却无法以任何方式运行。

非常感谢任何帮助。 提前谢谢你!

1 个答案:

答案 0 :(得分:0)

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

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

不需要完成所有配置舞蹈,只需要设置用户管理器。

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

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

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

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