2012-07-25 172 views
0

我可以通过ClientContext获得远程控制台应用程序与NTLM Sharepoint站点的交谈,我可以使用HttpWebRequest.GetResponse()与远程Kerberos Sharepoint框交谈。Sharepoint 2010 ClientContext with Kerberos&401未经授权

但我无法通过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 &然后放弃!任何想法

回答

0

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

相关问题