Как настроить разрешения доступа для веб-службы поиска в Search Server 2008 Express? - PullRequest
1 голос
/ 25 февраля 2009

Я установил Microsoft Search Server 2008 Express на сервер Windows 2003 и создал источник контента для поиска (наш корпоративный веб-сайт) для тестирования. Я могу просто найти этот источник в Центре поиска.

Из веб-приложения ASP.NET я пытаюсь запросить предоставленный веб-сервис как , описанный здесь

Я использую параметры олицетворения в файле web.config, чтобы указать учетную запись пользователя, под которым выполняется запрос, но я не могу выяснить, как настроить этого пользователя на сервере поиска, чтобы он мог выполнять запрос.

<authentication mode="Windows"/>
<identity impersonate="true" userName="MyDomain\MyUser" password="myPassword" />

Если я использую свои собственные сетевые учетные данные, я получаю результаты обратно, поскольку я настроен с разрешениями «Полный доступ» в экземпляре сервера поиска, но когда я использую для этого альтернативную учетную запись домена (MyDomain \ QueryUser), я получаю эту ошибку :

System.Web.Services.Protocols.SoapException: серверу не удалось обработать запрос. ---> Попытка выполнить несанкционированную операцию.

Я добавил пользователя на сервер в Поисковый сервер> Настройки сайта> Разрешения> Добавить пользователей и дал учетной записи полный доступ, но он по-прежнему не может использовать веб-службу. Есть ли где-то пропущенная настройка?

** EDIT

Хорошо, я попробовал предложение Гордона, и использование учетных данных, которые использует приложение Sharepoint, устраняет ошибку. Кроме того, добавление второго пользователя домена в локальную группу администраторов на сервере устраняет ошибку.

Какие разрешения эти изменения предоставляют веб-сервису? Нужно ли прибегать к использованию этих обходных путей или я могу дать своему пользователю домена соответствующие разрешения в Sharepoint где-нибудь?

1 Ответ

1 голос
/ 07 октября 2009

ключ для доступа к поисковому веб-сервису MOSS:

1) для правильной аутентификации 2) заставить веб-сервис MOSS использовать эту идентификационную информацию

для первой части проверьте, правильно ли назначены все свойства для вашего сетевого идентификатора. Обычно я предоставляю следующие данные:

NetworkCredential credentials = new NetworkCredential(userName, password, domain);
service.PreAuthenticate = true;
service.Url = your_ws_fullurl;
service.UseDefaultCredentials = false;
service.useDefaultCredentialsSetExplicitly = true;
service.Credentials = credentials;

для второй части одно решение состоит в том, чтобы удалить IUSR (анонимный пользователь IIS) право доступа к файлу /_vti_bin/Search.asmx через IIS (попал в папку / _vti_bin /, щелкните правой кнопкой мыши для свойств безопасности файла), таким образом, MOSS извлечет учетные данные, предоставленные в кэше учетных данных, и у вас не будет сообщения «несанкционированная операция»

...