Question

J'ai deux applications SharePoint dans la même ferme.

Le 1st utilise l'authentification Windows classique avec NTLM fournisseur.

Le 2e utilise authentification des revendications , avec uniquement le fournisseur d'authentification Windows ( ntlm aussi).

Nous construisons également une application Java (en fait un plugin de perte de vie, mais c'est hors de portée).Cette application doit saisir du contenu de l'application SharePoint.

Ceci fonctionne pour la première application, mais pas pour la seconde (celle avec réclamations ).

Donc, ma question est la suivante: lors de l'utilisation de l'authentification des demandes, avec le fournisseur d'authentification NTLM, quels sont les conditions préalables de toute demande de consommation?

Était-ce utile?

La solution

Nous avons enfin trouvé une solution, qui consistait à changer la bibliothèque cliente.

Nous utilisons surtout le composant décrit ici: Support pourNTLMV2 avec Apache httpClient à l'aide de JCIFS .

Un exemple de code que nous avons utilisé:

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);

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top