使用Apache Http Client支持的原始NTLM身份验证的Windows系统设置是什么?

时间:2011-08-23 14:02:54

标签: java axis2 ntlm

我们正在使用Apache Axis客户端与报表服务器进行通信。 Apache客户端使用Apache Http Client进行NTLM身份验证。基于以下帖子

How can I get jcifs to play nicely with apache axis

它看起来只支持原始NTLM。我们的一台机器设置为使用最近的NTLM身份验证。

我想知道这个设置在哪里,我可以重置为使用Apache Http Client支持的原始NTLM身份验证。

1 个答案:

答案 0 :(得分:0)

HttpClient不支持NTLM v2因此我使用JCIFS库返回NTLM v1,2,3消息类型,如本网站所述

http://devsac.blogspot.com/2010/10/supoprt-for-ntlmv2-with-apache.html

我刚刚使用上述网站上的JCIFS_NTLMScheme.java文件注册了auth方案,它确实有效!!!!

示例客户端:

List authSchema = new ArrayList();
AuthPolicy.registerAuthScheme(AuthPolicy.NTLM, org.tempuri.JCIFS_NTLMScheme.class);
HttpTransportProperties.Authenticator auth = new HttpTransportProperties.Authenticator();
auth.setUsername("");
auth.setPassword("");
auth.setDomain("");
auth.setHost("");
auth.setPort();
List authPrefs = new ArrayList(1);
authPrefs.add(AuthPolicy.NTLM);
auth.setAuthSchemes(authPrefs);
stub._getServiceClient().getOptions().setProperty(org.apache.axis2.transport.http.HTTPConstants.AUTHENTICATE, auth);