0

我可以让远程控制台应用程序使用 ClientContext 与 NTLM Sharepoint 站点对话,并且我可以使用 HttpWebRequest.GetResponse(); 与远程 Kerberos Sharepoint 框对话;

但我无法让它与带有 CientContext 的 Kerberos Sharepoint 框交谈。任何额外的指针将不胜感激。

string siteURL = "http://my.remote.sharepoint";             
ClientContext ctx = new ClientContext(siteURL);           
CredentialCache cc = new CredentialCache();           
cc.Add(new Uri(siteURL), "Kerberos", CredentialCache.DefaultNetworkCredentials);            
ctx.AuthenticationMode = ClientAuthenticationMode.Default;         
ctx.Credentials =cc;

/////////////////////////////////////////////////////////////////////////////////
// This code confirms that I can access "my.remote.sharepoint" with KRB
//       HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(siteURL);
//       myHttpWebRequest.Credentials = cc;
//       myHttpWebRequest.UseDefaultCredentials = true;              
//       HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
/////////////////////////////////////////////////////////////////////////////////
Web remoteWeb = ctx.Web;
ctx.Load(remoteWeb);
ctx.ExecuteQuery();

//401 unauthorised returned from here

Wireshark 建议它返回最初的 401 然后放弃!有任何想法吗

4

1 回答 1

0

请检查是否SPN为该主机注册了 a 并且是否存在反向 DNS 条目。

于 2012-07-25T19:32:30.277 回答