Ho bisogno di consumare un servizio web di riposo con java, passando le credenziali di un account utente di dominio.autenticare con ntlm (o kerberos) usando java UrlConnection
in questo momento lo sto facendo con ASP classico
set xmlHttp = server.createObject("msxml2.serverxmlhttp")
xmlHttp.open method, url, false, domain & "\" & user, password
xmlHttp.send body
out = xmlHttp.responseText
set xmlHttp = nothing
e con asp.net
HttpWebRequest request = (HttpWebRequest) WebRequest.Create(url);
request.Credentials = new NetworkCredential(user, password, domain);
request.Method = WebRequestMethods.Http.Get
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
StreamReader outStream = new StreamReader(response.GetResponseStream(), Encoding.UTF8) ;
output = outStream.ReadToEnd();
come posso raggiungere questo obiettivo con Java? Tieni conto che non sto utilizzando le credenziali dell'utente attualmente registrato, sto specificando l'account di dominio (ho la password)
per favore dimmi che è facile come con asp classico e asp.net .. ..
Hey Matt, grazie mille per la risposta, ma mi chiedo se è possibile fare questo, con il Buil-in classi JRE, utilizzando Kerberos invece di NTLM .. Voglio dire, kerberos non è roba ptopietaria come NTLM ... – opensas
Ultimo ho sentito, il client Apache NON supporta NTLMv2. E sono riluttanti a toccare JCIFS perché a) affermano che LGPLv2 non è compatibile con la loro licenza eb) sono generalmente stanchi di materiale MS. Ma non importa perché se si vuole interop con Microsoft, NTLM è il comune denominatore dei meccanismi di autenticazione.Kerberos non funziona se il client non ha accesso a un controller di dominio o se la sincronizzazione temporale è disattivata o se DNS non è corretto o ... ecc. – user8134
Hi ioplex. Non sono sicuro di dove hai sentito questo, ma non è corretto. Si prega di consultare i documenti a cui mi sono collegato. Ho usato con successo NTLM con HttpClient 3.xe con 4.0. –