码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-04-30 23:21:16      阅读:460      评论:0      收藏:0      [点我收藏+]

标签:


调用在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:\\test",
	        		  "-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

NTLM是可以进行域单点的一种协议,而JCISF可以作为实现库



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

标签:

原文地址:http://blog.csdn.net/shierqu/article/details/45400075

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!