Package com.google.code.ftspc.lector.Server.FTP

Source Code of com.google.code.ftspc.lector.Server.FTP.FTPThread

package com.google.code.ftspc.lector.Server.FTP;

import com.google.code.ftspc.lector.ini_and_vars.Vars;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import org.apache.ftpserver.FtpServerFactory;
import org.apache.ftpserver.ftplet.Authority;
import org.apache.ftpserver.ftplet.UserManager;
import org.apache.ftpserver.usermanager.PropertiesUserManagerFactory;
import org.apache.ftpserver.usermanager.SaltedPasswordEncryptor;
import org.apache.ftpserver.usermanager.impl.BaseUser;
import org.apache.ftpserver.usermanager.impl.WritePermission;

/**
* Class for FTP server initialization.
* @author Arthur Khusnutdinov
*/
public class FTPThread extends Thread {

    @Override
    public void run() {
        File myUsersProperties = new File("../myusers.properties");
        Boolean createNewUsers = false;

        try {
            PropertiesUserManagerFactory userManagerFactory = new PropertiesUserManagerFactory();
            if (!myUsersProperties.exists()) {
                myUsersProperties.createNewFile();
                createNewUsers = true;
            }
            userManagerFactory.setFile(myUsersProperties);
            userManagerFactory.setPasswordEncryptor(new SaltedPasswordEncryptor());
            UserManager um = userManagerFactory.createUserManager();

            if (createNewUsers) {
                List<Authority> auths = new ArrayList<Authority>();
                Authority auth = new WritePermission();
                auths.add(auth);

                BaseUser user = new BaseUser();
                user.setName("myNewUser");
                user.setPassword("secret");
                user.setHomeDirectory(Vars.Mater_Lector);
                user.setAuthorities(auths);


                um.save(user);
            }

            FtpServerFactory serverFactory = new FtpServerFactory();
            Vars.server = serverFactory.createServer();

            serverFactory.setUserManager(um);

            // start the server
            Vars.server.start();
        } catch (Exception ex) {
            ex.printStackTrace();
        }

    }
}
TOP

Related Classes of com.google.code.ftspc.lector.Server.FTP.FTPThread

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.