如何提供凭据,以便在属于另一个域的服务器上执行查询
本文关键字:另一个 服务器 查询 执行 属于 何提供 | 更新日期: 2023-09-27 17:50:24
我正在为一个在他的域上有服务器的客户做工作。我的工作站在我自己的域上。我通常使用我的客户端域用户名和密码VPN进入客户端网络。下面的查询的问题是,当我执行查询时,我得到一个401未经授权的访问错误,可能是因为发送了错误的凭据。
客户端建议提供我的客户端域凭据,可能包装在#if DEBUG中,以便代码在开发环境中正常工作。
如何提供凭据?以下代码将出现在ASP MVC 2项目中。
ClientContext clientContext = new ClientContext(URL);
List list = clientContext.Web.Lists.GetByTitle("My Documents");
CamlQuery camlQuery = new CamlQuery();
camlQuery.ViewXml = XML;
ListItemCollection listItems = list.GetItems(camlQuery);
clientContext.Load(
listItems,
items => items.Include(item => item["FileRef"]));
clientContext.ExecuteQuery();
我更喜欢用编程的方式
这就是我所需要做的吗?
System.Net.NetworkCredential cred = new System.Net.NetworkCredential("myname", "mypassword");
ClientContext clientContext = new ClientContext(URL);
clientContext.Credentials = cred;
我仍然没有成功,但也许还有其他问题。
您可以在IIS上配置应用程序池凭据,这样运行应用程序的"用户"就有访问其他服务器的权限。
如果客户端帐户已经是sharepoint站点的有效用户,您只需要在下载之前使用默认凭据,就像这样…
WebClient Client=new WebClient();
Client.UseDefaultCredentials=true;
Client.DownloadFile(url, destination);