la récupération de documents de sharepoint via des services Web en utilisant jquery
-
23-09-2019 - |
Question
Je suis en train de développer une application mobile qui peut interagir avec un site MOSS via des services Web. Je pensais que ce serait pouvoir;
1) récupérer des documents (pdf, doc, docx, excel) 2) récupérer des rapports des services d'information sous une forme PDF ou Excel.
je vais utiliser soit PhoneGap ou rhomobile pour développer cette application et je sais que je peux consommer des services Web en utilisant jquery.
Ma question porte sur MOSS Web Services de sécurité. Comment vais-je gérer l'authentification?
Merci
La solution
Comment fonctionne l'authentification sur votre collection de sites MOSS? Est-il l'authentification Windows? Dans ce cas, vous pouvez utiliser l'usurpation d'identité lorsque vous créez le client Soap pour accéder au service Web:
EndpointAddress endpointAddress = new EndpointAddress("http://site/_vti_bin/Lists.asmx");
//Just create a basicHttpBinding with standard web services settings
SoapClient soapClient = new SoapClient(basicHttpBinding, endpointAddress);
soapClient.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;
Assurez-vous que l'emprunt d'identité est autorisé dans votre web.config. Recherchez le noeud
<identity impersonate="true" />
Autres conseils
La réponse de Hugo peut fonctionner si vos utilisateurs sont connectés à leur compte AD sur les appareils mobiles.
Si ce n'est pas le cas de vos applications mobiles peuvent appeler vos services Web. Vos services Web fonctionnent dans un pool d'applications qui est en cours d'exécution sous l'identité d'un utilisateur qui est autorisé à appeler les services de sharepoint.
Vous faites ensuite un appel aux services Web de sharepoint utilisant usurper l'identité = false.
Il y a deux choses qui pourraient vous donner des problèmes:
- Vous devez vous authentifier vos utilisateurs en quelque sorte, ou bien vous allez ouvrir votre site sharepoint.
- Il y a aussi un problème pour envoyer des données binaires sur JSON
JSON n'a pas <[CDATA []]> fonction, il est donc pas bien adapté à agir en tant que porteur de sons ou d'images ou d'autres grandes charges utiles binaires. JSON est optimisé pour les données. Outre, l'exécution de programmes exécutables dans un système d'échange de données pourrait introduire des problèmes de sécurité dangereuses.