Connecting multiple users on Apache FTP server in java

898 Views Asked by At

I am having a problem with apache ftp server. Its working fine for me for one user. I want to connect multiple users on Apache FTP server with different home directories.

Here is my code for connecting one user:

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();

When i try to create another BaseUser and save it to UserManager, it gets saved successfully but doesn't work instead its override last saved user HOME_DIRECTORY, thus both users point the same directory which should not be happened so.

Where am I going wrong?

0

There are 0 best solutions below