2009-02-25 7 views
1

J'ai installé Microsoft Search Server 2008 Express sur un serveur Windows 2003 et créé une source de contenu de recherche (notre site Web d'entreprise) à des fins de test. Je peux chercher cette source très bien dans le Centre de recherche.Comment définir les autorisations d'accès pour le service Web de recherche dans Search Server 2008 Express?

partir d'une application Web ASP.NET Je suis en train d'interroger le service Web fourni comme described here

J'utilise les paramètres d'emprunt d'identité dans le web.config pour spécifier le compte utilisateur de la requête est exécuté, mais je ne peux pas savoir comment configurer cet utilisateur dans le serveur de recherche pour lui permettre d'effectuer la requête.

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

Si pour cela (MyDomain \ QueryUser) J'utilise mes propres informations d'identification de réseau, je reçois les résultats de retour, comme je suis mis en place avec des autorisations de contrôle total dans l'instance de Search Server, mais quand j'utilise un compte de domaine alternatif Je reçois cette erreur:

System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> Attempted to perform an unauthorized operation.

J'ai ajouté l'utilisateur au serveur dans Search server> Paramètres du site> Permissions> Ajouter des utilisateurs et ont donné le compte contrôle total mais il ne peut toujours pas utiliser le webservice. Y a-t-il un réglage quelque part qui me manque?

** EDIT

Ok, j'ai essayé la suggestion de Gordon et en utilisant les informations d'identification de l'application Sharepoint est fait l'erreur utilise disparaître. En outre, l'ajout du deuxième utilisateur de domaine au groupe Administrateurs local sur le serveur fait disparaître l'erreur.

Quelles sont ces autorisations accordant le service Web? Dois-je recourir à ces solutions ou puis-je accorder à mon utilisateur de domaine des autorisations appropriées dans Sharepoint?

Répondre

1

la clé pour accéder à la recherche webservice de MOSS est

1) pour authentifier correctement 2) pour forcer le webservice MOSS utiliser cette identité

pour la première vérification de la partie si toutes les propriétés sont correctement attribuées pour votre NetworkCredential, je fournis habituellement ceux-ci:

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

pour la deuxième partie une solution consiste à supprimer le IUSR (IIS utilisateur anonyme) le droit d'accéder au fichier /_vti_bin/Search.asmx avec IIS (obtenu dans le dossier/_vti_bin /, faites un clic droit sur les propriétés de sécurité du fichier), de cette façon, MOSS récupérera les informations d'identification fournies dans le cache des informations d'identification et vous n'afficherez pas le message "opération non autorisée"