Удаленный доступ к клиентской объектной модели Sharepoint 2010 через HTTPS - PullRequest
0 голосов
/ 01 июля 2010

Мне было приятно узнать, что клиентская объектная модель Sharepoint 2010 по существу оборачивает удаленные вызовы на сервер.Итак, я скопировал Microsoft.Sharepoint.Client.Silverlight.dll и Microsoft.Sharepoint.Client.Silverlight.Runtime.dll с моего сервера Sharepoint 2010 на мою машину для разработки (без Sharepoint).Я предполагал, что код Silverlight, который я тестировал на сервере Sharepoint 2010, также будет работать на моей машине для разработки.Естественно, я не использую ApplicationContext.Current.Url, потому что я не выполняю в Sharepoint, поэтому я вручную добавляю имя сервера sharepoint следующим образом (сохраняется анонимным для сообщения):

        //ClientContext context = new ClientContext(ApplicationContext.Current.Url);
        ClientContext context = new ClientContext("https://[servername]");
        _web = context.Web;
        context.Load(_web);
        context.Load(_web.Lists);
        context.ExecuteQueryAsync(new ClientRequestSucceededEventHandler  (OnRequestSucceeded), new ClientRequestFailedEventHandler(OnRequestFailed));

КогдаЯ выполняю код, мне предлагается окно проверки подлинности Windows (Sharepoint настроен на использование проверки подлинности Windows), я добавляю свой домен / пользователя и пароль.Однако я получаю следующую ошибку:

Примечание. Мне удалось заставить работать веб-службы Sharepoint 2010 при аналогичной ошибке, изменив режим безопасности привязки = «Transport» и включив файл clientAccessPolicy.xml в файлКорневой сайт Sharepoint.Нужно ли настраивать другой каталог Sharepoint для конечной точки клиентской объектной модели?

  • Exception {System.Security.SecurityException ---> System.Security.SecurityException: ошибка безопасности.в System.Net.Browser.BrowserHttpWebRequest.InternalEndGetResponse (IAsyncResult asyncResult) в System.Net.Browser.BrowserHttpWebRequest. <> c__DisplayClass5.b__4 (объект sendState) в System.Net.Browser.Async______0).--- Конец внутренней трассировки стека исключений --- в System.Net.Browser.AsyncHelper.BeginOnUI (SendOrPostCallback beginMethod, состояние объекта) в System.Net.Browser.BrowserHttpWebRequest.EndGetResponse (IAsyncResult asyncResult) в Microsoft.SharePoint.ClientRequest.ExecuteQueryGetResponseAsyncCallback (IAsyncResult asyncResult)} System.Exception {System.Security.SecurityException}

Ответы [ 2 ]

1 голос
/ 09 августа 2011

Пожалуйста, посмотрите на сообщение блога ниже, вам нужно добавить файл clientaccesspolicy.xml в корневую папку вашего сайта sharepoint.

http://vangalvenkat.blogspot.com/2011/08/sharepoint-2010-getting-list-item.html

0 голосов
/ 06 июля 2010

Ага, я нашел это. Вы можете установить безопасность в контексте клиента для использования аутентификации Windows по умолчанию, например:

using (Microsoft.Sharepoint.Client.ClientContext ctx = new Microsoft.Sharepoint.Client.ClientContext("http://sharepointserver")){

ctx.AuthenticationMode = Microsoft.Sharepoint.Client.ClientAuthenticationMode.Default

} 

Это также должно предотвращать любые всплывающие окна аутентификации Windows

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