2011-12-06 8 views
5

Ho scritto un semplice servizio web RESTful utilizzando l'autenticazione di base. Uso i suggerimenti da questa pagina secureRestWS. Hanno anche creato un video e pubblicato su youtube con maggiori dettagli. Funziona bene quando lo apri nel browser. È necessario scrivere nome utente e password nella finestra di autorizzazione.Client Android per il servizio Web REST con sicurezza di base

Ho anche trovato una pagina con client Android che chiama il servizio web di resto utilizzando httpclient e se il servizio web è senza autenticazione funziona. Sto usando questo esempio androidRestWSClient. Ma io so don`t come aggiungere nome utente e password in questo scenario, ho provato come:

client.AddParam("User Name", "myusername"); 
client.AddParam("Password", "mypassword"); 

o nell'intestazione:

client.AddHeader("User Name", "myusername"); 
client.AddHeader("Password", "mypassword"); 

ma non funziona niente. Cerco anche di creare URL che dica il nome utente e la password di servizio web, come:

http://192.168.1.42/RestWS/resources/helloWorld?username=myusername&password=mypassword 

ho davvero don `t avere una soluzione per questo, quindi se qualcuno ha un client esempio Gradirei che.

In webservice devo semplice metodo GET

@GET 
@Path("/text") 
public String getText() { 
    return "Hello World!"; 
} 

Ho bisogno di utilizzare SecurityContext username e password? E 'meglio per creare l'autenticazione manualy come in questo esempio:

http://aruld.info/accessing-restful-services-configured-with-ssl-using-resttemplate/ 

Grazie per il vostro aiuto

risposta

12

Se si utilizza l'autenticazione solo di base http, l'URL dovrebbe essere così:

http://username:[email protected]/RestWS/resources/helloWorld 

Bene, ecco qui - e non dimenticare di Upvote e segna come risposta se funziona :):

HttpGet httpget; 
try{ 
    httpget = new HttpGet(url); 

    String auth =new String(Base64.encode((username + ":" + password).getBytes(),Base64.URL_SAFE|Base64.NO_WRAP)); 
    httpget.addHeader("Authorization", "Basic " + auth); 
    } 
+0

Per creando url questo funziona per me, quindi grazie, forse qualcuno risponderà alla prima domanda come aggiungere nome utente e password nel client o vorrei solo utilizzare il link nel client ... Grazie – janilemy

+0

Questo funziona per me bene, l'ho trovato su altra pagina, ma non posso rispondere alla mia domanda in 8 ore ... Ma ora va tutto bene, grazie per l'aiuto Kaediil ... – janilemy

Problemi correlati