How to use credentials to connect to a SharePoint list using the Client Side Object Model?
Asked Answered
C

1

24

I need to write an application to update a list on a SharePoint 2010 site.

I found the "SPSite" which I can create with the URL, but I can't figure out how to specify with which user I want to connect.

The user isn't the current windows user, and the program isn't executed on the server.

I saw the possibility to give a "SPUserToken", but in my method I only have the user, the domain, and his password, so how can I generate this user(and I think that this user is unknown on the system executing the code, but known on the server).

Where can I specify that?

Cloudlet answered 17/6, 2011 at 7:21 Comment(0)
S
45

Since you're using the client object model, you won't be working with the SPSite class (which is part of the server object model).

Instead, you should create an instance of the ClientContext class and supply your authentication credentials through its aptly-named Credentials property. Then you can use it to fetch the List object you want to update:

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.
}
Saury answered 17/6, 2011 at 13:0 Comment(8)
hi! what is "yourserver"? can you please check my question below.#15737559Ensure
is somehting for JSOM?Nylon
ClientContext is not disposable.Owing
@Alex, yes, it is. It derives from ClientRuntimeContext, which implements IDisposable.Flue
@FrédéricHamidi sorry, it was a MSVS error, it shows that it doesn't implement IDisposable if Microsoft.Sharepoint.Client.Runtime is not referenced.Owing
check below for the correct answer if you are using SharePoint online: sharepoint.stackexchange.com/questions/80961/…Tenotomy
How can i prompt the end user with supplying the username and password in a secret manner. i dont want to hardcode the username, password in the .cs file.Cheder
@SaMolPP Use SecureString with the .Append property to take the password in as user input via some prompt or modal.Zee

© 2022 - 2024 — McMap. All rights reserved.