利用jcifs進行NTLM協議認證,生成ws訪問客戶端
來源:程序員人生 發布時間:2015-08-12 07:54:47 閱讀次數:3332次
調用在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
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈