如何使用Spring RESTTemplate将用户和密码传递给Spring REST服务

时间:2013-06-06 17:10:38

标签: spring rest spring-mvc spring-security

如何使用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);
    }

我在返回时获得了春季登录屏幕,而不是我要查找的数据,因此这告诉我我的凭据无法正常工作..

1 个答案:

答案 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");