2012-07-25 167 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條目。