<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>
利用jcifs進行NTLM協議認證,生成ws訪問客戶端
調用在windows server 2012 的IIS上部署的webservice服務需要進行NTLM協議認證,爲了能正常利用cxf生成客戶端,首要解決的是需要windows NT authentication,可以採用早前的開源庫jcifs。
擴展
===
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可以作爲實現庫
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.