我的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-禁止错误。
请建议我该怎么做以避免上述错误
答案 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();
}
这对我很有用。