0

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

我在退货时收到了春季登录屏幕,而不是我正在寻找的数据,所以这告诉我我的凭据不起作用..

4

1 回答 1

0

如果您从服务器端发布方法签名会有所帮助。你是如何进行身份验证的?这是一个获取示例。post 将是相同的,但使用 postForObject()

String result = restTemplate.getForObject("http://127.0.0.1:8080/springmvc-rest-secured-test/json/{user}/{password}", String.class, "user", "pass");
于 2013-06-06T18:38:18.360 回答