Implementando o Spring Security com o Java Client

Lado do Cliente

Eu tenho um aplicativo java que se conecta a um servidor remoto usando métodos básicos POST ou GET:

URL url = new URL(urlStr);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setAllowUserInteraction(false);
conn.setRequestProperty("Content-type", "text/xml; charset=" + ENCODING);

conn.connect();
conn.getOutputStream().write(data.getBytes(ENCODING));
conn.getOutputStream().close();

(Eu não posso mudar esse código, as únicas coisas que eu posso mudar é ourlStr e adata enviado para o servidor ao chamar o método).

[EDITAR] : O cliente pode ser um cliente java ou qualquer outro cliente (c ++, objective-c, ..). O ponto aqui é que eu só posso acessar o que está no corpo do meu post, bem como o URL.

Lado do servidor

No meu servidor, gostaria de implementar o Spring Security (SecurityContext e persistência de sessão).

Eu entendo que a segurança da primavera é baseada em cookies do navegador quando é umWebApp para manter as informações sobre osession id. Mas no meu caso não há navegador.

Preciso simular o armazenamento doJSESSIONID e enviá-lo de volta para o servidor? Não tenho certeza se isso é possível, já que precisaria ligarconn.addRequestProperty(key, value) o que não é possível.

Existe alguma outra maneira?

Obrigado.

[EDITAR]

Como apontado por @zagyi, posso usar o URL para passar o token de sessão para o Spring, mas ainda não consigo descobrir como.

questionAnswers(2)

yourAnswerToTheQuestion