我们有一个Web服务客户端,它正在对需要基于NTLM的身份验证的Restful Web服务发出请求。我们正在使用:
org.springframework.web.client.RestTemplate
要执行GET请求,请致电:
RestTemplate.execute(java.lang.String,
org.springframework.http.HttpMethod,
org.springframework.web.client.RequestCallback,
org.springframework.web.client.ResponseExtractor<T>)
在RequestCallback中,我们提供头参数(Map&lt; String,String&gt;),除其他外,它提供身份验证机制作为params之一。
我需要能够构建类型为“NTLM”的授权参数,但我不知道如何正确创建字符串以适应基于NTLM的身份验证。我找到了创建基于NTLM的服务的信息,但我相信我作为客户端调用NTLM服务的需求更简单。例如,我们一直在使用基本身份验证客户端(在服务切换到NTLM之前),如下所示:
..
String str = username:password
headerParams.put("Authorization", "Basic " + DatatypeConverter.printBase64Binary(str.getBytes("UTF-8")));
..
我将如何做同上,只使用NTLM而不是基本?