Программное обеспечение Java, которое запрашивает услуги SharePoint с претензиями?

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/46695

  •  09-12-2019
  •  | 
  •  

Вопрос

У меня есть два приложения SharePoint на одной ферме.

1-й использует Classic аутентификации Windows с помощью поставщика NTLM .

2-й использует утверждает аутентификацию , причем только провайдер аутентификации Windows ( NTLM тоже).

Мы также создаем приложение Java (фактически плагин eseperay, но это не имеет возможности).Это приложение должно захватить содержимое от приложения SharePoint.

Это работает для первого приложения, но не для второго (тот, который с претензиями ).

Итак, мой вопрос: при использовании аутентификации претензий, с провайдером аутентификации NTLM, каковы предпосылки любого потребляющего приложения?

Это было полезно?

Решение

Мы наконец нашли решение, которое состояло в изменении клиентской библиотеки.

Мы особенно используем компонент, описанный здесь: Поддержка для поддержкиNTLMV2 с Apache HttpClient с помощью JCIFS .

Образец код, который мы использовали:

QueryServiceStub queryServiceStub = new QueryServiceStub("SHARE_POINT_ASMX_URL");
List authPrefs = new ArrayList(1);
authPrefs.add(AuthPolicy.NTLM);
AuthPolicy.registerAuthScheme(AuthPolicy.NTLM, JCIFS_NTLMScheme.class);
HttpTransportProperties.Authenticator auth = new HttpTransportProperties.Authenticator();
List<String> authScheme = new ArrayList<String>();
authScheme.add(HttpTransportProperties.Authenticator.NTLM);
auth.setUsername("USERNAME");
auth.setPassword("PASSWORD");
auth.setDomain("DOMAIN");
auth.setHost("SHAREPOINT_HOSTNAME");
auth.setAuthSchemes(authScheme);
queryServiceStub._getServiceClient().getOptions().setProperty(HTTPConstants.REUSE_HTTP_CLIENT, "true");
queryServiceStub._getServiceClient().getOptions().setProperty(HTTPConstants.AUTHENTICATE, auth);
List<Header> headers = new ArrayList<Header>();
Header header = new Header();
header.setName("X-FORMS_BASED_AUTH_ACCEPTED");
header.setValue("f");
headers.add(header);
queryServiceStub._getServiceClient().getOptions().setProperty(HTTPConstants.HTTP_HEADERS, headers);
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top