Java Code Examples for org.apache.ftpserver.usermanager.impl.WritePermission

The following examples show how to use org.apache.ftpserver.usermanager.impl.WritePermission. These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source Project: cyberduck   Author: iterate-ch   File: AbstractFTPTest.java    License: GNU General Public License v3.0 7 votes vote down vote up
@Before
public void start() throws Exception {
    final FtpServerFactory serverFactory = new FtpServerFactory();
    final PropertiesUserManagerFactory userManagerFactory = new PropertiesUserManagerFactory();
    final UserManager userManager = userManagerFactory.createUserManager();
    BaseUser user = new BaseUser();
    user.setName("test");
    user.setPassword("test");
    user.setHomeDirectory(new TemporaryApplicationResourcesFinder().find().getAbsolute());
    List<Authority> authorities = new ArrayList<Authority>();
    authorities.add(new WritePermission());
    //authorities.add(new ConcurrentLoginPermission(2, Integer.MAX_VALUE));
    user.setAuthorities(authorities);
    userManager.save(user);
    serverFactory.setUserManager(userManager);
    final ListenerFactory factory = new ListenerFactory();
    factory.setPort(PORT_NUMBER);
    serverFactory.addListener("default", factory.createListener());
    server = serverFactory.createServer();
    server.start();
}
 
Example #2
Source Project: o2oa   Author: o2oa   File: StorageServerTools.java    License: GNU Affero General Public License v3.0 6 votes vote down vote up
private static UserManager concreteUserManager(List<Account> list) throws Exception {
	List<BaseUser> users = new ArrayList<>();
	for (Account o : list) {
		BaseUser user = new BaseUser();
		user.setEnabled(true);
		user.setName(o.getUsername());
		String password = o.getPassword();
		if (StringUtils.isEmpty(password)) {
			password = Config.token().getPassword();
		}
		user.setPassword(password);
		File file = new File(Config.base(), "local/repository/storage/" + o.getUsername());
		FileUtils.forceMkdir(file);
		user.setHomeDirectory(file.getAbsolutePath());
		user.setMaxIdleTime(0);
		List<Authority> authorities = new ArrayList<Authority>();
		authorities.add(new WritePermission());
		authorities.add(new ConcurrentLoginPermission(0, 0));
		authorities.add(new TransferRatePermission(0, 0));
		user.setAuthorities(authorities);
		users.add(user);
	}
	StorageUserManager userManager = new StorageUserManager(users);
	return userManager;
}
 
Example #3
Source Project: jbpm-work-items   Author: kiegroup   File: CamelFtpBaseTest.java    License: Apache License 2.0 6 votes vote down vote up
public FtpServerBuilder addUser(final String username,
                                final String password,
                                final File home,
                                final boolean write) throws FtpException {
    UserFactory userFactory = new UserFactory();
    userFactory.setHomeDirectory(home.getAbsolutePath());
    userFactory.setName(username);
    userFactory.setPassword(password);

    if (write) {
        List<Authority> authorities = new ArrayList<Authority>();
        Authority writePermission = new WritePermission();
        authorities.add(writePermission);
        userFactory.setAuthorities(authorities);
    }
    User user = userFactory.createUser();
    ftpServerFactory.getUserManager().save(user);

    return this;
}
 
Example #4
Source Project: PHONK   Author: victordiaz   File: PFtpServer.java    License: GNU General Public License v3.0 6 votes vote down vote up
public void addUser(String name, String pass, String directory, boolean canWrite) {
    BaseUser user = new BaseUser();
    user.setName(name);
    user.setPassword(pass);

    //String root = ProjectManager.getInstance().getCurrentProject().getStoragePath() + "/" + directory;
    user.setHomeDirectory(directory);

    //check if user can write
    if (canWrite) {
        List<Authority> auths = new ArrayList<Authority>();
        Authority auth = new WritePermission();
        auths.add(auth);
        user.setAuthorities(auths);
    }

    try {
        um.save(user);
    } catch (FtpException e) {
        e.printStackTrace();
    }

}
 
Example #5
Source Project: ProjectX   Author: AlexMofer   File: FtpUser.java    License: Apache License 2.0 6 votes vote down vote up
private FtpUser(String name, String password, FtpFileSystemViewAdapter adapter) {
    if (TextUtils.isEmpty(name))
        throw new RuntimeException("User name can not be empty!");
    mName = name;
    mPassword = password;
    mAdapter = adapter;
    mAdapter.onAttached(this);

    // 写入权限
    mAuthorities.add(new WritePermission());
    // 上传下载数目权限
    mAuthorities.add(new TransferRatePermission(0, 0));
    // 登录权限
    mAuthorities.add(new ConcurrentLoginPermission(10,
            10));
}
 
Example #6
Source Project: google-drive-ftp-adapter   Author: andresoviedo   File: FtpUserManager.java    License: GNU Lesser General Public License v3.0 6 votes vote down vote up
private BaseUser loadUser(String suffix, String defaultUser, String defaultPassword) {
    final String username = configuration.getProperty("ftp.user" + suffix, defaultUser);
    final String password = configuration.getProperty("ftp.pass" + suffix, defaultPassword);
    if ((username == null || username.length() == 0) || (password == null || password.length() == 0)) {
        return null;
    }
    BaseUser user = new BaseUser();
    user.setEnabled(true);
    user.setHomeDirectory(configuration.getProperty("ftp.home" + suffix, ""));
    user.setMaxIdleTime(300);
    user.setName(username);
    user.setPassword(password);
    List<Authority> authorities = new ArrayList<>();

    // configure permissions
    final String rights = configuration.getProperty("ftp.rights" + suffix, "pwd|cd|dir|put|get|rename|delete|mkdir|rmdir|append");
    parseAuthorities(authorities, rights);

    authorities.add(new WritePermission());
    authorities.add(new ConcurrentLoginPermission(10, 5));
    user.setAuthorities(authorities);
    LOG.info("FTP User Manager configured for user '" + user.getName() + "'");
    LOG.info("FTP rights '" + rights + "'");
    return user;
}
 
Example #7
Source Project: spring-cloud-stream-app-starters   Author: spring-cloud   File: FtpTestSupport.java    License: Apache License 2.0 5 votes vote down vote up
private TestUserManager(String homeDirectory) {
	this.testUser = new BaseUser();
	this.testUser.setAuthorities(Arrays.asList(new ConcurrentLoginPermission(1024, 1024),
			new WritePermission(),
			new TransferRatePermission(1024, 1024)));
	this.testUser.setHomeDirectory(homeDirectory);
	this.testUser.setName("TEST_USER");
}
 
Example #8
Source Project: portable-ftp-server   Author: dubasdey   File: InMemoryUserManager.java    License: GNU General Public License v3.0 5 votes vote down vote up
/**
 * Sets the user.
 *
 * @param _user the new user
 */
public void setUser(BaseUser _user){
	user = _user;
	if(user.getAuthorities() == null || user.getAuthorities().isEmpty()){
		List<Authority> authorities = new ArrayList<Authority>();
		authorities.add(new WritePermission());
		authorities.add(new ConcurrentLoginPermission(10, 10));
		user.setAuthorities(authorities);
	}
}
 
Example #9
Source Project: bjoern   Author: octopus-platform   File: OctopusFTPServer.java    License: GNU General Public License v3.0 5 votes vote down vote up
private BaseUser configureAnonymousUser()
{
	BaseUser user = new BaseUser();
	user.setName("anonymous");
	List<Authority> auths = new ArrayList<Authority>();
	Authority auth = new WritePermission();
	auths.add(auth);
	user.setAuthorities(auths);
	return user;
}
 
Example #10
Source Project: DataHubSystem   Author: SentinelDataHub   File: DHuSFtpUserManager.java    License: GNU Affero General Public License v3.0 5 votes vote down vote up
@Override
public User getUserByName(final String name) throws FtpException
{
   if (name == null) return null;
   fr.gael.dhus.database.object.User u = userService.getUserNoCheck (name);
   
   if (u==null) return null;
   
   BaseUser user = new BaseUser();
   user.setName(u.getUsername());
   user.setPassword(u.getPassword());
   
   user.setEnabled(
      u.isEnabled()               && 
      u.isAccountNonExpired()     &&
      u.isAccountNonLocked()      &&
      u.isCredentialsNonExpired() &&
      !u.isDeleted());
   
   user.setHomeDirectory("/");
   List<Authority> authorities = new ArrayList<>();
   authorities.add(new WritePermission ());
   // No special limit
   int maxLogin = 0;
   int maxLoginPerIP = 0;
   authorities.add(new ConcurrentLoginPermission(maxLogin, maxLoginPerIP));
   int uploadRate = 0;
   int downloadRate = 0;
   authorities.add(new TransferRatePermission(downloadRate, uploadRate));
   user.setAuthorities(authorities);
   user.setMaxIdleTime(1000);
   return user;
}
 
Example #11
Source Project: pentaho-kettle   Author: pentaho   File: FtpsServer.java    License: Apache License 2.0 5 votes vote down vote up
private FtpServer createServer( int port, String username, String password, boolean implicitSsl ) throws Exception {
  ListenerFactory factory = new ListenerFactory();
  factory.setPort( port );

  if ( implicitSsl ) {
    SslConfigurationFactory ssl = new SslConfigurationFactory();
    ssl.setKeystoreFile( new File( SERVER_KEYSTORE ) );
    ssl.setKeystorePassword( PASSWORD );
    // set the SSL configuration for the listener
    factory.setSslConfiguration( ssl.createSslConfiguration() );
    factory.setImplicitSsl( true );
  }

  FtpServerFactory serverFactory = new FtpServerFactory();
  // replace the default listener
  serverFactory.addListener( "default", factory.createListener() );

  PropertiesUserManagerFactory userManagerFactory = new PropertiesUserManagerFactory();

  userManagerFactory.setFile( new File( SERVER_USERS ) );
  UserManager userManager = userManagerFactory.createUserManager();
  if ( !userManager.doesExist( username ) ) {
    BaseUser user = new BaseUser();
    user.setName( username );
    user.setPassword( password );
    user.setEnabled( true );
    user.setHomeDirectory( USER_HOME_DIR );
    user.setAuthorities( Collections.<Authority>singletonList( new WritePermission() ) );
    userManager.save( user );
  }

  serverFactory.setUserManager( userManager );
  return serverFactory.createServer();
}
 
Example #12
Source Project: camel-quarkus   Author: apache   File: FtpTestResource.java    License: Apache License 2.0 4 votes vote down vote up
@Override
public Map<String, String> start() {
    try {
        final int port = AvailablePortFinder.getNextAvailable();

        ftpRoot = Files.createTempDirectory("ftp-");
        usrFile = Files.createTempFile("ftp-", ".properties");

        NativeFileSystemFactory fsf = new NativeFileSystemFactory();
        fsf.setCreateHome(true);

        PropertiesUserManagerFactory pumf = new PropertiesUserManagerFactory();
        pumf.setAdminName("admin");
        pumf.setPasswordEncryptor(new ClearTextPasswordEncryptor());
        pumf.setFile(usrFile.toFile());

        UserManager userMgr = pumf.createUserManager();

        BaseUser user = new BaseUser();
        user.setName("admin");
        user.setPassword("admin");
        user.setHomeDirectory(ftpRoot.toString());

        List<Authority> authorities = new ArrayList<>();
        WritePermission writePermission = new WritePermission();
        writePermission.authorize(new WriteRequest());
        authorities.add(writePermission);
        user.setAuthorities(authorities);
        userMgr.save(user);

        ListenerFactory factory = new ListenerFactory();
        factory.setPort(port);

        FtpServerFactory serverFactory = new FtpServerFactory();
        serverFactory.setUserManager(userMgr);
        serverFactory.setFileSystem(fsf);
        serverFactory.setConnectionConfig(new ConnectionConfigFactory().createConnectionConfig());
        serverFactory.addListener("default", factory.createListener());

        FtpServerFactory ftpServerFactory = serverFactory;
        ftpServer = ftpServerFactory.createServer();
        ftpServer.start();

        return CollectionHelper.mapOf(
                "camel.ftp.test-port", Integer.toString(port),
                "camel.ftp.test-root-dir", ftpRoot.toString(),
                "camel.ftp.test-user-file", usrFile.toString());
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
}
 
Example #13
Source Project: activemq-artemis   Author: apache   File: FTPTestSupport.java    License: Apache License 2.0 4 votes vote down vote up
@Override
protected void setUp() throws Exception {

   if (ftpHomeDirFile.getParentFile().exists()) {
      IOHelper.deleteFile(ftpHomeDirFile.getParentFile());
   }
   ftpHomeDirFile.mkdirs();
   ftpHomeDirFile.getParentFile().deleteOnExit();

   FtpServerFactory serverFactory = new FtpServerFactory();
   ListenerFactory factory = new ListenerFactory();

   PropertiesUserManagerFactory userManagerFactory = new PropertiesUserManagerFactory();
   UserManager userManager = userManagerFactory.createUserManager();

   BaseUser user = new BaseUser();
   user.setName("activemq");
   user.setPassword("activemq");
   user.setHomeDirectory(ftpHomeDirFile.getParent());

   // authorize user
   List<Authority> auths = new ArrayList<>();
   Authority auth = new WritePermission();
   auths.add(auth);
   user.setAuthorities(auths);

   userManager.save(user);

   BaseUser guest = new BaseUser();
   guest.setName("guest");
   guest.setPassword("guest");
   guest.setHomeDirectory(ftpHomeDirFile.getParent());

   userManager.save(guest);

   serverFactory.setUserManager(userManager);
   factory.setPort(0);
   serverFactory.addListener(ftpServerListenerName, factory.createListener());
   server = serverFactory.createServer();
   server.start();
   ftpPort = serverFactory.getListener(ftpServerListenerName).getPort();
   super.setUp();
}
 
Example #14
Source Project: wildfly-camel   Author: wildfly-extras   File: FtpIntegrationTest.java    License: Apache License 2.0 4 votes vote down vote up
@Before
public void startFtpServer() throws Exception {

    FileUtils.deleteDirectory(resolvePath(FTP_ROOT_DIR));

    File usersFile = USERS_FILE.toFile();
    usersFile.createNewFile();

    NativeFileSystemFactory fsf = new NativeFileSystemFactory();
    fsf.setCreateHome(true);

    PropertiesUserManagerFactory pumf = new PropertiesUserManagerFactory();
    pumf.setAdminName("admin");
    pumf.setPasswordEncryptor(new ClearTextPasswordEncryptor());
    pumf.setFile(usersFile);

    UserManager userMgr = pumf.createUserManager();

    BaseUser user = new BaseUser();
    user.setName("admin");
    user.setPassword("admin");
    user.setHomeDirectory(FTP_ROOT_DIR.toString());

    List<Authority> authorities = new ArrayList<>();
    WritePermission writePermission = new WritePermission();
    writePermission.authorize(new WriteRequest());
    authorities.add(writePermission);
    user.setAuthorities(authorities);
    userMgr.save(user);

    ListenerFactory factory1 = new ListenerFactory();
    factory1.setPort(PORT);

    FtpServerFactory serverFactory = new FtpServerFactory();
    serverFactory.setUserManager(userMgr);
    serverFactory.setFileSystem(fsf);
    serverFactory.setConnectionConfig(new ConnectionConfigFactory().createConnectionConfig());
    serverFactory.addListener("default", factory1.createListener());

    FtpServerFactory factory = serverFactory;
    ftpServer = factory.createServer();
    ftpServer.start();
}