SharePoint CSOM без предоставления пароля - PullRequest
0 голосов
/ 18 февраля 2019

Я хочу использовать объектную модель на стороне клиента SharePoint (CSOM) без необходимости указывать пароль учетной записи службы.

Моим клиентским приложением является .Net DLL (пример кода C # ниже), которое вызывается извеб-сайт, размещенный в IIS.Идентификатор пула приложений, на котором размещен веб-сайт, обладает полными правами на библиотеку документов SharePoint.

Работает следующий код:

using (var ctx = new ClientContext($"{SpRoot}/{SpPathToFolder}"))
{
    ctx.Credentials = new NetworkCredential("username", "password", "domain");
    using (ms)
    {
        Microsoft.SharePoint.Client.File.SaveBinaryDirect(ctx, targetFileUrl, ms, true);
        ctx.ExecuteQuery();
    }

Проблема в том, что это означает, что необходимо передать простой текстовый пароль для управления исходным кодом!

Я пробовал:

Web site = ctx.Web;
ctx.Load(site);
ctx.ExecuteQuery();

Я также пытался ctx.Credentials = CredentialCache.DefaultNetworkCredentials и ctx.Credentials = CredentialCache.DefaultCredentials

В той же DLL я могу сделать вызов Rest, чтобы добавить документ вта же библиотека документов, используя следующий код:

        var client = new HttpClient(handler);
        client.DefaultRequestHeaders.Accept.Clear();
        client.DefaultRequestHeaders.Add("Accept", "application/xml;odata=nometadata");

        HttpResponseMessage response = client.PostAsync(restUrl, null).Result;

Можно ли использовать CSOM без предоставления пароля?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...