2

我在使用 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,因此两个用户都指向同一个目录,这不应该发生。

我哪里错了?

4

0 回答 0