2011-12-06 5 views
5

tengo escribir un simple servicio web REST utilizando consejos básicos de uso authentication.I desde ésta página secureRestWS. También crearon un video y lo publicaron en youtube con más detalles. Funciona bien cuando lo abres en el navegador. Debe escribir Nombre de usuario y Contraseña en la ventana de autorización.cliente de Android para el servicio web REST con seguridad básica

También he encontrar una página con el cliente androide que llame a servicio web usando resto httpclient y si el servicio web es sin autenticación funciona. Estoy usando este ejemplo androidRestWSClient. Pero yo don `t saber cómo agregar nombre de usuario y contraseña en este escenario, traté como:

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

o en la cabecera:

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

pero nada funciona. También trato de crear URL que diga el nombre de usuario y la contraseña del servicio web como:

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

Realmente `t tener una solución para esto, así que si alguien tiene un cliente de ejemplo lo agradecería.

En servicio web que tienen método GET sencilla

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

¿Es necesario utilizar SecurityContext de nombre de usuario y contraseña? ¿Es mejor crear una autenticación manualy como en este ejemplo:

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

Gracias por su ayuda

Respuesta

12

Si está utilizando la autenticación básica justa http, la URL debe tener este aspecto:

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

Bueno, aquí tienes, y no te olvides de votar y marcar como respondido si esto funciona :):

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

Para crear url esto funciona para mí, así que gracias, tal vez alguien responderá en la primera pregunta cómo agregar nombre de usuario y contraseña en el cliente o simplemente usaré el enlace en el cliente ... Gracias – janilemy

+0

Esto funciona bien, lo he encontrado en otra página, pero no puede responder mi propia pregunta en 8 horas ... Pero ahora todo está bien, gracias por su ayuda Kaediil ... – janilemy

Cuestiones relacionadas