【问题标题】:Calling SharePoint 2013 REST API with FBA Turned On在启用 FBA 的情况下调用 SharePoint 2013 REST API
【发布时间】:2015-07-18 18:39:03
【问题描述】:

我有以下代码,在关闭基于表单的身份验证的情况下可以正常工作,但是当我打开它时它停止工作:

        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:...)

我尝试了几件事,包括在 HttpClient Credentials 对象下指定场帐户 Windows 身份验证凭据,我还尝试使用 AuthenticationHeaderValue:

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

我们将不胜感激。

【问题讨论】:

    标签: rest sharepoint httpclient fba


    【解决方案1】:

    对于遇到此问题的任何人,我通过转到站点权限和设置对整个网站的匿名访问来解决它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-15
      • 1970-01-01
      • 2018-09-15
      • 1970-01-01
      • 2013-06-06
      • 2013-08-22
      • 2017-02-27
      • 2020-05-03
      相关资源
      最近更新 更多