que celebro un servicio web REST en una aplicación Grails, usando Spring Security, es decir .:Llamar a un servicio REST Web asegurado con Spring Security desde Android
@Secured(['IS_AUTHENTICATED_REMEMBERED'])
def save = {
println "Save Ride REST WebMethod called"
}
estoy llamando desde una aplicación para Android. (Llamar al servicio no seguro funciona bien).
Para llamar al servicio, estoy compilando manualmente una solicitud (HttpUriRequest
) y ejecutándola con un HttpClient
.
Me pregunto lo que son las mejores prácticas, y cómo ponerlas en práctica ... Específicamente, debería:
- Realizar un inicio de sesión una vez, para recuperar un JSESSION_ID, a continuación, añadir una cabecera que contiene en HttpUriRequest para cada solicitud posterior?
- O (no estoy seguro de cómo iba a hacerlo incluso) incluir el nombre de usuario y contraseña directamente en cada solicitud, renunciando a la sesión/del lado del servidor de galletas
creo que puedo conseguir la opción 1 de trabajo, pero no estoy seguro si Spring Security lo permite (2), si ese es el camino a seguir ... ¡Gracias!
--además, no me falta ninguna biblioteca que haga todo esto por mí ¿verdad? :)
Muchas gracias por la respuesta, estuvo cerca (las ideas me ayudaron mucho) pero no funcionó de fábrica: publiqué lo que se necesitaba para que funcionase: http://storypodders.com/dasBlog/2011/01/22/SecuringRESTServicesInGrailsWithSpringSecurity.aspx – Bobby
Esa fue una gran publicación, gracias por contribuir, estoy seguro de que será encontrada y útil para muchos otros. –
Poner nombre de usuario y contraseña en la URL generalmente se considera una mala idea. Los archivos de registro del servidor web a menudo contienen parámetros de consulta que expondrían sus credenciales. Cualquiera que acceda a su servicio RESTful desde un navegador tendría credenciales expuestas en su historial. – Patrick