Autenticação com Commons-net

0 respostas
K

Olá a todos.
Estou fazendo uma conexão com um servidor unix, através da api commons-net
estou usando a classe RLoginClient para realizar a conexao, ela me da a opção de
passar o usuário remoto, usuário local e o tipo de terminal, mais não oferece a
opção de passar o password para a autenticação, eu necessito passar o password
e um nome de uma rotina para ser executada.

segue os codigos IOUtil
public class IOUtil {

    public static final void readWrite(final InputStream remoteInput,
        final OutputStream remoteOutput, final InputStream localInput,
        final OutputStream localOutput){
        //declara Thread para leitura e escrita
        Thread reader, writer;
        //instacia nova thread para leitura
        reader = new Thread(){
            //inicia o processamento da thread de leitura
            @Override
            public void run()
            {
               int ch;
               try
               {    //testa se o processo não foi interrompido
                   //e se o retorno do servido é diferente de -1(se ha retorno)
                   while (!interrupted() && (ch = localInput.read()) != -1)
                   {
                       //envia o conteudo para o servidor
                        Scanner s = new Scanner(System.in);

                        remoteOutput.write(ch);
                        remoteOutput.flush();
                   }
               }
               catch (IOException e)
               {
                  //e.printStackTrace();
               }
            }
        };
        //instacia uma nova thread para gravacao
       writer = new Thread()
       {
            @Override
            public void run(){
                try
                {
                    //copia o conteudo do servidor(remoteInput) para a aplicacao(localOutput)
                    Util.copyStream(remoteInput, localOutput);
                }
                catch (IOException e)
                {
                    e.printStackTrace();
                    System.exit(1);
                }
            }
       };


       //seta a prioridade da thread de gravação maior
       writer.setPriority(Thread.currentThread().getPriority() + 1);
       //inicia a thread de gravacao
       writer.start();

       reader.setDaemon(true);
       reader.start();

       try{
           writer.join();
           reader.interrupt();
       }
       catch (InterruptedException e)
       {
       }
    }
}

classe teste

public class teste {
public static void main(String[] args) throws IOException
        {
            String server, localuser, remoteuser, terminal;
            RLoginClient client;
    
            
    
           client = new RLoginClient();
    
            server = "x.x.x.x";
            localuser = "xxxxx";
            remoteuser = "xxxxx";
            terminal = "vt100";
    
            try
            {
                client.connect(server);
            }
            catch (IOException e)
            {
                System.err.println("Could not connect to server.");
               e.printStackTrace();
                System.exit(1);
            }
    
            try
            {
                client.rlogin(localuser, remoteuser, terminal);

                
            }
           catch (IOException e)
           {
                try
                {
                    client.disconnect();
                }
               catch (IOException f)
                {}
                e.printStackTrace();
                System.err.println("rlogin authentication failed.");
                System.exit(1);
           }          
        
           IOUtil.readWrite(client.getInputStream(), client.getOutputStream(),
                 System.in, System.out);      
    
            try
            {
               client.disconnect();
            }
           catch (IOException e)
            {
              e.printStackTrace();
               System.exit(1);
          }
   
            System.exit(0);
        }
   
   }

aguardo uma ajuda, já não sei o que fazer pois sou iniciante em java.

Criado 15 de dezembro de 2010
Respostas 0
Participantes 1