Microsoft Search Server 2008 Express を Windows 2003 サーバーにインストールし、テスト用の検索コンテンツ ソース (当社の企業 Web サイト) を作成しました。このソースは、検索センターから問題なく検索できます。
ASP.NET Web アプリケーションから、ここで説明されているように、提供された Web サービスを照会しようとしています。
web.config で偽装設定を使用して、要求を実行するユーザー アカウントを指定していますが、検索サーバーでそのユーザーを設定してクエリを実行できるようにする方法がわかりません。
<authentication mode="Windows"/>
<identity impersonate="true" userName="MyDomain\MyUser" password="myPassword" />
独自のネットワーク資格情報を使用すると、検索サーバー インスタンスでフル コントロールのアクセス許可が設定されているため、結果が返されますが、これに別のドメイン アカウント (MyDomain\QueryUser) を使用すると、次のエラーが発生します。
System.Web.Services.Protocols.SoapException: サーバーは要求を処理できませんでした。---> 不正な操作を試みました。
[検索サーバー] > [サイトの設定] > [アクセス許可] > [ユーザーの追加] でユーザーをサーバーに追加し、アカウントにフル コントロールを付与しましたが、それでも Web サービスを使用できません。不足している設定はありますか?
**編集
OK、Gordon の提案を試してみました。Sharepoint アプリケーションが使用している資格情報を使用すると、エラーが解消されます。また、2 番目のドメイン ユーザーをサーバーのローカルの Administrators グループに追加すると、エラーが解消されます。
これらの変更により、Web サービスに付与されるアクセス許可は何ですか? これらの回避策を使用する必要がありますか?それとも、Sharepoint のどこかでドメイン ユーザーに適切なアクセス許可を与えることができますか?