2015-06-04 4 views
1

Я следующий код, который отлично работает с формами проверки подлинности на основе выключен, но в тот момент я включаю его на это перестает работать:Вызов SharePoint 2013 REST API с FBA Включил

 string baseURL = siteUrl + "/_api/"; 
     string uriString = "web/lists/GetByTitle('" + listName + "')/fields/getbyinternalnameortitle('" + displayName + "')"; 

     NetworkCredential cred = CredentialCache.DefaultNetworkCredentials; 
     System.Net.Http.HttpClient client = new System.Net.Http.HttpClient(new HttpClientHandler() 
     { 
      Credentials = cred 
     }); 

     client.BaseAddress = new Uri(baseURL); 
     client.DefaultRequestHeaders.Add("Accept", "application/json;odata=verbose"); 

     ServicePointManager.ServerCertificateValidationCallback = delegate(object s, X509Certificate certificate, X509Chain chain, 
       SslPolicyErrors sslPolicyErrors) 
     { 
      return true; 
     }; 

     HttpResponseMessage resp = client.GetAsync(uriString).Result; 
     string respString = resp.Content.ReadAsStringAsync().Result; 

ответ я получаю выглядит следующим образом:

{StatusCode: 403, ReasonPhrase: 'Forbidden', Version: 1.1, Content: System.Net.Http.StreamContent, Headers: 
{ 
Transfer-Encoding: chunked 
X-SharePointHealthScore: 0 
X-Forms_Based_Auth_Required:...) 

Я попробовал несколько вещей, в том числе с указанием фермы учетных данных проверки подлинности Windows, под на HttpClient мандатной возражаете, я также пытался использовать AuthenticationHeaderValue:

client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", _FormatBasicAuth("domain", "username", "password")); 

Любая помощь будет высоко оценена.

ответ

1

Для тех, кто испытывает эту проблему, я разрешил ее, перейдя на «Разрешения на работу с сайтом» и «Установив анонимный доступ на весь сайт».

Смежные вопросы