Sharepoint 2013客户端对象模型控制台应用程序--remote-server-returned-an-error-403-forbidden-error

时间:2015-04-28 10:56:07

标签: console-application sharepoint-2013 sharepoint-clientobject

我的SharePoint 2013 WebApp具有基于声明的身份验证。此WebApp还具有启用的可信身份。现在我尝试使用以下代码连接到Console应用程序中的一个网站集。

using (var clientContext = new ClientContext(url)) 

{

       var rootweb = clientContext.Web;
       clientContext.Load(rootweb );
       clientContext.ExecuteQuery();
}

每次执行时我都会收到错误: 的的-远程服务器返回-AN-错误-403-禁止错误 即使有下面的代码和平

using (ClientContext context = new ClientContext("SiteURL"))

{

    CredentialCache cc = new CredentialCache();
    NetWorkCredential nc = new NetworkCredential("username", "password", "domain"); 

    cc.Add(new Uri("http://localhost"), "Negotiate", nc));

    context.Credentials = cc; 

    Web web = context.Web;
     context.Load(web);

    Log.Debug("Loading web.");
    context.ExecuteQuery();

    Console.WriteLine(web.Title);
}

错误保持不变。所述远程服务器退回-AN-错误-403-禁止错误。

请建议我该怎么做以避免上述错误

1 个答案:

答案 0 :(得分:0)

凭据缓存似乎是您的问题。请尝试此示例:

        using (ClientContext context = new ClientContext("https://Your.Site.Url"))
        {
            context.AuthenticationMode = ClientAuthenticationMode.Default;
            context.Credentials = new NetworkCredential("username", "password", "domain");
            Web web = context.Web;
            context.Load(web);
            context.ExecuteQuery();
            Console.WriteLine(web.Title);
            Console.ReadLine();
        }

这对我很有用。