如何使用Spring RESTTemplate将用户和密码传递给Spring REST服务..
我有一个使用Spring Secuirty的Spring MVC项目,我需要编写一个带有Spring RESTTemplate的客户端来访问它。我有以下代码,但它不起作用:
public static void main(String[] args)
{
LOGGER.debug("Starting REST Client!!!!");
HttpClient client = new HttpClient();
UsernamePasswordCredentials credentials =
new UsernamePasswordCredentials("test","test");
client.getState().setCredentials(
new AuthScope("127.0.0.1", 8080, AuthScope.ANY_REALM),
credentials);
CommonsClientHttpRequestFactory commons = new CommonsClientHttpRequestFactory(client);
RestTemplate restTemplate = new RestTemplate(commons);
String jsonreturn = restTemplate.getForObject("http://127.0.0.1:8080/springmvc-rest-secured-test/json/Regan", String.class);
LOGGER.debug(jsonreturn);
}
我在返回时获得了春季登录屏幕,而不是我要查找的数据,因此这告诉我我的凭据无法正常工作..
答案 0 :(得分:0)
如果您从服务器端发布方法签名,它会有所帮助。你是如何进行身份验证的?这是一个例子。 post会是相同的但是使用postForObject()
String result = restTemplate.getForObject("http://127.0.0.1:8080/springmvc-rest-secured-test/json/{user}/{password}", String.class, "user", "pass");