Domanda

Ho due applicazioni di SharePoint nella stessa azienda agricola.

Il primo sta usando classico autenticazione di Windows con ntlm provider.

Il 2 ° sta usando Authentication Dichiarazioni , con solo il provider di autenticazione di Windows ( ntlm ).

Stiamo anche costruendo un'applicazione Java (in realtà un plugin di Liferay, ma questo è fuori portata).Questa applicazione deve afferrare il contenuto dall'applicazione SharePoint.

Questo funziona per la prima applicazione, ma non per il secondo (quello con reclami ).

Quindi la mia domanda è: quando si utilizza l'autenticazione delle rivendicazioni, con il fornitore di autenticazione NTLM, quali sono i prerequisiti di qualsiasi applicazione di consumo?

È stato utile?

Soluzione

Abbiamo finalmente trovato una soluzione, che consisteva nel cambiare la libreria cliente.

Utilizziamo in particolare il componente descritto qui: Supporto perNtlmv2 con Apache httpclient utilizzando JCIFS .

Un codice di esempio che abbiamo utilizzato:

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top