程序员人生 网站导航

利用jcifs进行NTLM协议认证,生成ws访问客户端

栏目:php教程时间:2015-08-12 07:54:47

调用在windows server 2012 的IIS上部署的webservice服务需要进行NTLM协议认证,为了能正常利用cxf生成客户端,重要解决的是需要windows NT authentication,可以采取早前的开源库jcifs。

<span style="font-size:14px;">public static void main(String[] args) { Config.registerSmbURLHandler(); String domain = "domain"; String user = "username"; String password = "password"; Config.setProperty("jcifs.smb.client.domain", domain); Config.setProperty("jcifs.smb.client.username", user); Config.setProperty("jcifs.smb.client.password", password); try { Config.setProperty("jcifs.netbios.hostname", Config.getProperty("jcifs.netbios.hostname", InetAddress.getLocalHost().getHostName())); org.apache.cxf.tools.wsdlto.WSDLToJava.main( new String[]{ "-p", "com.test", "-d", "c: est", "-client", "http://test.com/ws?wsdl" }); } catch (Exception ex) { ex.printStackTrace(); } }</span>

扩大
===
NTLM是NT LAN Manager的缩写,这也说明了协议的来源。NTLM 是 Windows NT 初期版本的标准安全协议,Windows 2000 支持 NTLM 是为了保持向后兼容初期SMB协议在网络上传输明文口令。后来出现 LAN Manager Challenge/Response 验证机制,简称LM,它是如此简单以致很容易就被破解。微软提出了WindowsNT挑战/响应验证机制,称之为NTLM。现在已有了更新的NTLMv2和Kerberos验证体系。NTLM是windows初期安全协议,因向后兼容性而保存下来。NTLM是NT LAN Manager的缩写,即NT LAN管理器

NTLM Authentication Scheme for HTTP
http://www.innovation.ch/personal/ronald/ntlm.html

NTLM是可以进行域单点的1种协议,而JCISF可以作为实现库
http://www.cnblogs.com/adylee/archive/2007/11/28/975213.html



------分隔线----------------------------
------分隔线----------------------------

最新技术推荐