HTTP-запрос не авторизован с помощью схемы аутентификации клиента «Согласование». - PullRequest
0 голосов
/ 12 февраля 2010

Я пытаюсь развернуть / упаковать проект Visual Studio на основе расширений Visual Studio для Windows Sharepoint Services 1.3 (CTP за март 2009 г.), но получаю следующую ошибку!

HTTP-запрос не авторизован по схеме аутентификации клиента. «Переговоры». Заголовок аутентификации, полученный от сервера, был 'Переговоры, NTLM'

Я могу получить доступ к http://127.0.0.1:1378/SpService.svc через браузер; Служба VseWss работает в пуле приложений Sharepoint Central Administration v3, идентификация которого - Сетевая служба. Sharepoint Services устанавливается с настройками по умолчанию. Сетевая служба является членом локальной группы администраторов.

Машина является Windows 2003 Standard Editon SP2 и является частью домена, и я вошел в систему с пользователем домена; мой пользователь является членом локальной группы администраторов компьютера, и я установил службу Sharepoint Service с этим логином, который сделал меня участником почти всех необходимых групп безопасности Sharepoint (администратор фермы; администратор семейства сайтов и т. д.)

Я пробовал stackoverflow и 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 ]

1 голос
/ 12 февраля 2010

Вы также можете попробовать использовать фактическое имя хоста компьютера вместо адреса обратной связи (127.0.0.1). Если вы используете localhost или адрес обратной связи, вы, вероятно, не сможете войти в систему с помощью Kerberos, что приведет к сбою некоторых типов сценариев делегирования.

Может случиться так, что ваш браузер молча «откатывается» на использование NTLM, а другие программы, такие как развертывание VS, ведут себя не так - они часто используют только Kerberos. Поэтому попробуйте использовать имя хоста вместо loopback. Если это не сработает, возможно, у вас проблема с Kerberos на вашей машине. Если вы чувствуете себя действительно хардкорным, вы можете прочитать о Kerberos и загрузить копию WireShark, а затем искать сообщения об ошибках класса «KRB5», чтобы точно определить, что не работает, но это довольно большие затраты времени. *

0 голосов
/ 17 февраля 2010

Я удалил машину из домена; деинсталлированные VSeWSS, Sharepoint и IIS. Переустановил IIS после удаления машины из домена. После установки Sharepoint и VSeWSS; все стало работать нормально!

...