HTTP-запрос не авторизован с помощью схемы аутентификации клиента "Согласование".
Я пытаюсь развернуть / упаковать проект Visual Studio на основе расширений Visual Studio для Windows Sharepoint Services 1.3 (март 2009 г. CTP), но получаю следующую ошибку!
HTTP-запрос не авторизован с помощью схемы аутентификации клиента "Согласование". Заголовок аутентификации, полученный от сервера, был 'Negotiate,NTLM'
Я могу получить доступ к http://127.0.0.1:1378/SpService.svc через браузер; Служба VseWss работает в пуле приложений Sharepoint Central Administration v3, идентификация которого - Сетевая служба. Sharepoint Services устанавливается с настройками по умолчанию. Сетевая служба является членом локальной группы администраторов.
Машина является Windows 2003 Standard Editon SP2 и является частью домена, и я вошел в систему с пользователем домена; мой пользователь является членом локальной группы администраторов компьютера, и я установил Sharepoint Service с этим логином, который сделал меня участником почти всех необходимых групп безопасности Sharepoint (администратор фермы; администратор семейства сайтов и т. д.)
Я пробовал stackru и http://social.msdn.microsoft.com/Forums/en-US/sharepointdevelopment forum и перепробовал почти все, что предлагалось в разных постах на этих двух; но ничего из этого не сработало!
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()
2 ответа
Я удалил машину из домена; деинсталлированные VSeWSS, Sharepoint и IIS. Переустановил IIS после удаления машины из домена. После установки Sharepoint и VSeWSS; все стало работать нормально!
Вы также можете попробовать использовать фактическое имя хоста компьютера вместо адреса обратной связи (127.0.0.1). Если вы используете localhost или адрес обратной связи, вы, вероятно, не сможете войти в систему, используя Kerberos, что приведет к сбою определенных типов сценариев делегирования.
Может случиться так, что ваш браузер молча "откатывается" на использование NTLM, а другие программы, такие как развертывание VS, ведут себя не так - они часто используют только Kerberos. Поэтому попробуйте использовать имя хоста вместо loopback. Если это не сработает, возможно, у вас проблема с Kerberos на вашей машине. Если вы чувствуете себя действительно хардкорным, вы можете прочитать о Kerberos и загрузить копию WireShark, а затем искать сообщения об ошибках класса "KRB5", чтобы точно определить, что не работает, но это довольно большие временные затраты.