web-dev-qa-db-fra.com

Comment utiliser les informations d'identification pour se connecter à une liste SharePoint à l'aide du modèle d'objet côté client?

J'ai besoin d'écrire une application pour mettre à jour une liste sur un site SharePoint 2010.

J'ai trouvé le "SPSite" que je peux créer avec l'URL, mais je ne sais pas comment spécifier avec quel utilisateur je veux me connecter.

L'utilisateur n'est pas l'utilisateur Windows actuel et le programme n'est pas exécuté sur le serveur.

J'ai vu la possibilité de donner un "SPUserToken", mais dans ma méthode, je n'ai que l'utilisateur, le domaine et son mot de passe, alors comment puis-je générer cet utilisateur (et je pense que cet utilisateur est inconnu sur le système exécutant le code , mais connu sur le serveur).

Où puis-je spécifier cela?

21
J4N

Puisque vous utilisez le modèle d'objet client, vous ne travaillerez pas avec la classe SPSite (qui fait partie du serveur modèle objet).

Au lieu de cela, vous devez créer une instance de la classe ClientContext et fournir vos informations d'authentification via sa propriété Credentials bien nommée. Ensuite, vous pouvez l'utiliser pour récupérer l'objet List que vous souhaitez mettre à jour:

using System.Net;
using Microsoft.SharePoint.Client;

using (ClientContext context = new ClientContext("http://yourserver/")) {
    context.Credentials = new NetworkCredential("user", "password", "domain");
    List list = context.Web.Lists.GetByTitle("Some List");
    context.ExecuteQuery();

    // Now update the list.
}
37
Frédéric Hamidi