【发布时间】:2012-03-11 16:53:28
【问题描述】:
我正在尝试使用 RestTemplate 和 httpclient (4.x) 进行主要(或基本)身份验证。
由于我找不到任何有关如何实际执行此操作的示例,我尝试了各种方法来挂钩各种 httpclient 工件,但没有运气 - 基本上,没有 Authentication 标头发送到全部。
我目前的实现是:
DefaultHttpClient newHttpClient = new DefaultHttpClient();
Credentials credentials = new UsernamePasswordCredentials( username, password );
AuthScope authScope = new AuthScope( host, port, AuthScope.ANY_REALM );
BasicCredentialsProvider credentialsProvider = new BasicCredentialsProvider();
credentialsProvider.setCredentials( authScope, credentials );
newHttpClient.setCredentialsProvider( credentialsProvider );
HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory( newHttpClient );
restTemplate.setRequestFactory( requestFactory );
我做错了什么吗?在任何地方都有一个可行的例子吗? 任何帮助表示赞赏。 谢谢。
【问题讨论】:
-
您能发布更详细的 HTTP 请求和响应日志吗?在尝试对您的客户端代码进行故障排除之前,确认身份验证挑战之类的事情会很有用。
-
希望不会有任何挑战 - 我想要抢先式身份验证。至于客户端代码 - 我真的在寻找任何可以使用 Spring RestTemplate 和 HTTPClient (4.x) 的设置。
标签: spring restful-authentication http-authentication basic-authentication resttemplate