Как предоставить учетные данные для выполнения запроса на сервере, который является частью другого домена? - PullRequest
3 голосов
/ 18 апреля 2011

Я делаю работу для клиента, который имеет сервер в своем домене. Моя рабочая станция находится в моем собственном домене. Я обычно VPN в клиентской сети, используя имя пользователя и пароль моего клиентского домена. Проблема с приведенным ниже запросом заключается в том, что при выполнении запроса появляется ошибка 401 неавторизованного доступа, возможно, из-за отправки неверных учетных данных.

Клиент предложил предоставить учетные данные моего клиентского домена, возможно, обернутые в #if DEBUG, чтобы код правильно работал в средах разработки.

Как мне предоставить учетные данные? Следующий код будет представлен в проекте ASP MVC 2.

        ClientContext clientContext = new ClientContext(URL);
        List list = clientContext.Web.Lists.GetByTitle("My Documents");

        CamlQuery camlQuery = new CamlQuery();
        camlQuery.ViewXml = XML;
        ListItemCollection listItems = list.GetItems(camlQuery);
        clientContext.Load(
             listItems,
             items => items.Include(item => item["FileRef"]));

        clientContext.ExecuteQuery();

Я предпочитаю делать это программно

Ответы [ 3 ]

8 голосов
/ 19 апреля 2011

Это все, что мне нужно сделать:

        System.Net.NetworkCredential cred = new System.Net.NetworkCredential("myname", "mypassword"); 
    ClientContext clientContext = new ClientContext(URL);

    clientContext.Credentials = cred;

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

1 голос
/ 18 апреля 2011

Можно настроить учетные данные пула приложений в IIS, чтобы «пользователь», запускающий приложение, имел разрешение на доступ к другому серверу.

0 голосов
/ 12 сентября 2013

Если учетная запись клиента уже является действительным пользователем сайта sharepoint, вам просто нужно использовать учетные данные по умолчанию перед загрузкой, например ..

WebClient Client=new WebClient();
Client.UseDefaultCredentials=true;
Client.DownloadFile(url, destination);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...