Поиск Sharepoint 2010 через веб-сервис дает «Попытка выполнить несанкционированную операцию» - PullRequest
1 голос
/ 23 мая 2011

Мы настроили поиск Sharepoint (но не корпоративный), чтобы проиндексировать некоторые из наших стандартных сайтов asp.net, и если я перехожу на страницу поиска в sharepoint и ищу что-то конкретное, я получаю результаты, которые я ищу,

Однако я сейчас пытаюсь использовать поисковый веб-сервис со стандартного веб-сайта (не на sharepoint) и получаю сообщение об ошибке «Попытка выполнить несанкционированную операцию».Я знаю, что аутентифицируюсь должным образом, поскольку Fiddler показывает мне 401, а затем ответ 200, чтобы сказать, что все в порядке.Однако в тот момент, когда я вызываю .Query (последняя строка в моем примере кода), появляется сообщение об ошибке.

Это мой код

searchcentre2.QueryService queryService = new searchcentre2.QueryService();
System.Net.NetworkCredential _credentials = new System.Net.NetworkCredential(_username, _password, _domain);
queryService.Credentials = _credentials;
queryService.UseDefaultCredentials = false;
queryService.PreAuthenticate = true;
queryService.Url = _url;
m_lSearchResutls.Text = queryService.Query(queryxml.ToString());

Я пробовал и в настоящее время выполняю все триследующее.

  1. Отключение анонимного доступа повсюду, как на моем локальном сайте, так и в разделе поиска на sharepoint.
  2. Установка учетных данных для себя, и я нахожусь в владельцах сайтов и семействе сайтовгруппа администраторов
  3. Предоставил моему имени компьютера доступ к группе администраторов семейства сайтов (согласно совету моего системного администратора, поскольку пул приложений обоих сайтов работает под учетной записью сетевой службы)

Есть ли что-нибудьеще что мне нужно установить или исправить или посмотреть?У меня заканчиваются идеи вещей, которые можно попробовать.Это что-то на стороне sharepoint, которое я должен настроить до сих пор?

Я пробовал оба search.asmx / spsearch.asmx и .Query / .QueryEx, и в сообщении об ошибке выше не было никакой разницы.

Существуют примеры кода, где вы используете базовыйаутентификация, добавив его в заголовок, который я пробовал, но это тоже не сработало.Я даже пробовал NTLM, однако, если бы это было моей безопасностью, я бы не получил ответ 401, а затем 200 наверняка?

Так что теперь я начинаю думать, что это что-то на стороне Sharepoint, которое я должен изменить,Но что?

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 24 мая 2011

Похоже, я исправил свою проблему. Спасибо Майклу О'Доновану из Microsoft за советы и предложения.

В настоящее время я использую RSS-канал для поиска, который возвращает мне мое поле описания. Похоже, он также принимает мои учетные данные (хотя мне нужно проверить результаты поиска, чтобы убедиться, что я верну правильные записи). URL для RSS-канала поиска и его параметров строки запроса: http://searchsite/_layouts/srchrss.aspx?k=keyword&s=scope&u=&start=1

Мы не запускаем Kerberos в нашей среде sharepoint, и это является причиной наших проблем с аутентификацией на страницах search.asmx и spsearch.asmx. При аутентификации где-то происходит двойной переход, и Kerberos разрешит эту проблему.

Надеюсь, это поможет кому-то еще в том же положении, что и я.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...