Package ftpserver

Source Code of ftpserver.Authenticator

/*
* This file is part of the QuickServer library
* Copyright (C) 2003-2005 QuickServer.org
*
* Use, modification, copying and distribution of this software is subject to
* the terms and conditions of the GNU Lesser General Public License.
* You should have received a copy of the GNU LGP License along with this
* library; if not, you can download a copy from <http://www.quickserver.org/>.
*
* For questions, suggestions, bug-reports, enhancement-requests etc.
* visit http://www.quickserver.org
*
*/

package ftpserver;

import org.quickserver.net.server.*;
import org.quickserver.net.AppException;
import java.io.*;
import java.util.*;

public class Authenticator extends QuickAuthenticator {

  public boolean askAuthorisation(ClientHandler clientHandler)
      throws IOException, AppException {
   
    String username = askStringInput(clientHandler, null); //USER <USERNAME>
    //no need to check for null : done by QuickAuthenticator

    if(username.equalsIgnoreCase("QUIT")) {
      sendString(clientHandler, "221 Logged out.");
      throw new AppException("Quit");
    }
    if( username.toUpperCase().startsWith("USER ") == false){
      sendString(clientHandler, "503 Bad sequence of command, USER required.");
      return false;
    } else {
      sendString(clientHandler, "331 User name okay, need password.");
    }

    String password = askStringInput(clientHandler, null);//PASS <PASSWORD>
    //no need to check for null : done by QuickAuthenticator

    if(password.equalsIgnoreCase("QUIT")) {
      sendString(clientHandler, "221 Logged out.");
      throw new AppException("Quit");
    }
    if( password.toUpperCase().startsWith("PASS ") == false ){
      sendString(clientHandler, "503 Bad sequence of command, PASS required.");
      return false;
    }

    Data data = (Data)clientHandler.getClientData();
    data.username = username;
    /*
    sendString(clientHandler, "332 PASS password okay, need account.");
    data.account = in.readLine();
    if( data.account==null ||
      !data.account.toUpperCase().startsWith("ACCT ") ){
      sendString(clientHandler, "503 Bad sequence of command, ACCT required.");
      return false;
    }
    */
   
    if(username.toLowerCase().equals("user anonymous")) { 
      //data.root = (String)clientHandler.getServer().getStoreObjects()[0];
      HashMap appConfig =
        clientHandler.getServer().getConfig().getApplicationConfiguration();
      String temp = null;
      if(appConfig!=null)
        temp = (String)appConfig.get("FTP_ROOT");
      else
        temp = System.getProperty("user.home");
      data.root = temp;
      sendString(clientHandler, "230 User logged in, proceed.");
      return true;
    } else {
      sendString(clientHandler, "530 Not logged in.");
      return false;
    }
  }
}
TOP

Related Classes of ftpserver.Authenticator

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.