我在使用 apache ftp 服务器时遇到问题。对于一位用户来说,它对我来说工作正常。我想用不同的主目录连接 Apache FTP 服务器上的多个用户。
这是我连接一个用户的代码:
PropertiesUserManagerFactory userManagerFactory = new PropertiesUserManagerFactory();
userManagerFactory.setPasswordEncryptor(new SaltedPasswordEncryptor());
UserManager um = userManagerFactory.createUserManager();
BaseUser user = new BaseUser();
user.setName("username");
user.setPassword("password");
user.setHomeDirectory("myhomedirectory");
List<Authority> auths = new ArrayList<Authority>();
Authority auth = new WritePermission();
auths.add(auth);
user.setAuthorities(auths);
um.save(user);
FtpServerFactory serverFactory = new FtpServerFactory();
ListenerFactory factory = new ListenerFactory();
factory.setPort(Integer.parseInt(2221);
serverFactory.addListener("default", factory.createListener());
// set user
serverFactory.setUserManager(um);
// start the server
FtpServer server = serverFactory.createServer();
server.start();
当我尝试创建另一个 BaseUser 并将其保存到 UserManager 时,它成功保存但不起作用,而是覆盖上次保存的用户 HOME_DIRECTORY,因此两个用户都指向同一个目录,这不应该发生。
我哪里错了?