Запустить. NET Консольное приложение с учетными данными для входа в систему. - PullRequest
0 голосов
/ 31 марта 2020

Я написал консольное приложение на основе C# (с объектной моделью управляемого клиента SharePoint) и настроил учетные данные в app.config (жестко, но в зашифрованном виде) для запуска приложения, приложение работает нормально.

Однако теперь клиенту необходимо запустить консольное приложение с учетными данными вошедшего в систему пользователя (windows пользователь), и этому пользователю будут предоставлены права администратора на сайте SharePoint.

Сценарий - Если я вошел на сервер, на котором размещено консольное приложение, оно должно работать с моими учетными данными, не указывая ничего в app.config. Если другой пользователь вошел в систему на сервере, где размещено консольное приложение, то оно должно запускаться из его учетных данных и т. Д.

Есть предложения?

1 Ответ

0 голосов
/ 01 апреля 2020

Я думаю, что в описанном сценарии поведение должно быть следующим:



    using (ClientContext context = new ClientContext("[URL]"))
    {
        Web web = context.Web;
        User user = web.CurrentUser; // current logged in user to the server
        context.Load(user);
        context.ExecuteQuery();
        Console.WriteLine(user.LoginName);
    }

    using (ClientContext context = new ClientContext("[URL]"))
    {
        context.Credentials = new NetworkCredential("Login", "Password", "domain");
        Web web = context.Web;
        User user = web.CurrentUser; // user from network credentials
        context.Load(user);
        context.ExecuteQuery();
        Console.WriteLine(user.LoginName);
    }


...