我在 Windows 2003 服务器上安装了 Microsoft Search Server 2008 Express,并创建了一个搜索内容源(我们的公司网站)进行测试。我可以从搜索中心很好地搜索这个来源。
从 ASP.NET Web 应用程序中,我尝试查询所提供的 Web 服务,如此处所述
我在 web.config 中使用模拟设置来指定运行请求的用户帐户,但我不知道如何在搜索服务器中设置该用户以允许其进行查询。
<authentication mode="Windows"/>
<identity impersonate="true" userName="MyDomain\MyUser" password="myPassword" />
如果我使用自己的网络凭据,则会返回结果,因为我在 Search Server 实例中设置了完全控制权限,但是当我为此使用备用域帐户 (MyDomain\QueryUser) 时,我收到此错误:
System.Web.Services.Protocols.SoapException:服务器无法处理请求。---> 试图执行未经授权的操作。
我已在 Search Server > Site Settings > Permissions > Add Users 中将用户添加到服务器,并为帐户提供了完全控制权,但它仍然无法使用 web 服务。我想念的地方有设置吗?
**编辑
好的,我已经尝试了 Gordon 的建议,并使用 Sharepoint 应用程序使用的凭据使错误消失。此外,将第二个域用户添加到服务器上的本地管理员组会使错误消失。
这些更改授予 Web 服务的权限是什么?我是否必须求助于使用这些变通办法,或者我可以在某处的 Sharepoint 中为我的域用户授予适当的权限?