Как установить права доступа для веб-службы поиска в Search Server 2008 Express?

Я установил 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: серверу не удалось обработать запрос. ---> Попытка выполнить несанкционированную операцию.

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

**РЕДАКТИРОВАТЬ

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

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


person Nick    schedule 25.02.2009    source источник


Ответы (1)


ключ для доступа к поисковому веб-сервису 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 получит учетные данные, предоставленные в кеше учетных данных, и у вас не будет сообщения «несанкционированная операция»

person dc2009    schedule 07.10.2009