簡體   English   中英

客戶端身份驗證方案“協商”未授權HTTP請求。

[英]The HTTP request is unauthorized with client authentication scheme 'Negotiate'.

我正在嘗試為Windows Sharepoint Services 1.3(2009年3月CTP)部署基於Visual Studio擴展的Visual Studio項目,但遇到以下錯誤!

客戶端身份驗證方案“協商”未授權HTTP請求。 從服務器收到的身份驗證標頭是“協商,NTLM”

我可以通過瀏覽器訪問http://127.0.0.1:1378/SpService.svc VseWss服務在身份為網絡服務的Sharepoint管理中心v3應用程序池下運行。 Sharepoint Services使用默認設置安裝。 網絡服務是本地管理員組的成員。

該計算機是Windows 2003 Standard Editon SP2,是域的一部分,我已使用域用戶登錄; 我的用戶是計算機的本地Administrators組的成員,並且我使用此登錄名安裝了Sharepoint Service,這使我成為幾乎所有必需的Sharepoint安全組(Farm Administrator,Site Collection Administrator等)的成員

我已經嘗試了stackoverflow和http://social.msdn.microsoft.com/Forums/en-US/sharepointdevelopment論壇,並嘗試了這兩個主題的不同文章中建議的幾乎所有內容; 但到目前為止,它們都沒有起作用!

VSeWSS1.3.log具有以下條目

2010/02/12 16:49:01    Error
Error: System.ServiceModel.Security.MessageSecurityException
System.ServiceModel.Security.MessageSecurityException: The HTTP request is unauthorized with client authentication scheme 'Negotiate'. The authentication header received from the server was 'Negotiate,NTLM'. ---> System.Net.WebException: The remote server returned an error: (401) Unauthorized.
   at System.Net.HttpWebRequest.GetResponse()
   at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
   --- End of inner exception stack trace ---

Server stack trace: 
   at System.ServiceModel.Channels.HttpChannelUtilities.ValidateAuthentication(HttpWebRequest request, HttpWebResponse response, WebException responseException, HttpChannelFactory factory)
   at System.ServiceModel.Channels.HttpChannelUtilities.ValidateRequestReplyResponse(HttpWebRequest request, HttpWebResponse response, HttpChannelFactory factory, WebException responseException)
   at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
   at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
   at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs)
   at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]: 
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at Microsoft.SharePoint.Tools.SPServiceReference.ISPService.GetWeb(String url)
   at Microsoft.SharePoint.Tools.SharePointSolutions.SolutionDeployer.ValidateProjectDeployURL()
   at Microsoft.SharePoint.Tools.SharePointSolutions.SolutionDeployer.Deploy()

您也可以嘗試使用計算機的實際主機名而不是回送地址(127.0.0.1)。 如果使用localhost或回送地址,則可能無法使用Kerberos登錄,這將導致某些類型的委派方案失敗。

可能發生的情況是您的瀏覽器可能會悄悄“退縮”以使用NTLM,而其他程序(例如VS的部署)則不會那樣做-它們通常僅使用Kerberos。 因此,請嘗試使用主機名而不是回送。 如果這不起作用,則您的計算機上可能存在Kerberos問題。 如果您真的很固執,可以閱讀Kerberos並下載WireShark的副本,然后查找“ KRB5”類錯誤消息以確切了解失敗的原因,但這是一筆相當大的時間投資。

我從域中刪除了機器; 卸載了VSeWSS,Sharepoint和IIS。 從域中刪除計算機后,重新安裝IIS。 安裝Sharepoint和VSeWSS之后; 一切開始正常!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM