Работаю с httpClient and NTLM authentication.
Нужно из java app залогинится на sharepoint сервере, так чтобы пользователь не видел окно авторизации.. делаю это с помощью NTLM.
| Код | DefaultHttpClient httpClient = new DefaultHttpClient(cm,params); httpClient.getAuthSchemes().register("ntlm", new NTLMSchemeFactory()); httpClient.getCredentialsProvider().setCredentials(new AuthScope(AuthScope.ANY), new NTCredentials("login", "pass", null, "server.net")); HttpGet httpget = new HttpGet("htts://sharepoint.server.com/"); HttpResponse response; try { response = httpClient.execute(httpget); StatusLine entity = response.getStatusLine(); System.out.println("executing request " + httpget.getRequestLine()); System.out.println(entity.toString()); System.out.println("");
Header[] headers = response.getAllHeaders(); for (Header header : headers) { System.out.println(header.getName() + " : " + header.getValue()); }
|
Он возвращает мне статус
| Код | executing request GET https://sharepoint.server.com/ HTTP/1.1 200 OK
|
Все то что нужно...
Как мне запомнить полученные cookies, чтобы при следующих вызовах данных из sharepoint сервера, он знал что этот пользователь уже авторизирован (и не возвращал окно авторизации)??
Или как пересылать эти куки в iframes браузера (чтобы опять сервер знал что юзер уже авторизирован)??
| Код | internalBrowserEmbedded.setSource(new ExternalResource(("https://sharepoint.server.com/")));
|
|