使用凭据与Sharepoint的客户端对象模型进行交互?

J4N*_*J4N 22 .net c# sharepoint sharepoint-2010 sharepoint-clientobject

我需要编写一个小软件,它必须在Sharepoint 2010上更新一些列表.

我找到了可以使用url创建的"SPSite",但我无法弄清楚如何指定我想要连接的用户.

用户不是当前的Windows用户,并且该程序未在服务器上执行.

我看到了提供"SPUserToken"的可能性,但在我的方法中我只有用户,域和他的密码,所以如何生成这个用户(我认为这个用户在执行代码的系统上是未知的,但在服务器上已知)

我在哪里可以指定?

谢谢!

Fré*_*idi 38

由于您使用的是客户端对象模型,因此您将不使用SPSite类(它是服务器对象模型的一部分).

相反,您应该创建ClientContext类的实例,并通过其名称恰当的Credentials属性提供身份验证凭据.然后,您可以使用它来获取要更新的List对象:

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.
}
Run Code Online (Sandbox Code Playgroud)

  • @Alex,是的。它源自[ClientRuntimeContext](https://msdn.microsoft.com/zh-cn/library/microsoft.sharepoint.client.clientruntimecontext.aspx),该实现实现了IDisposable。 (2认同)