【问题标题】:retrieving documents from sharepoint via web services using jquery使用 jquery 通过 Web 服务从共享点检索文档
【发布时间】:2010-04-01 13:08:23
【问题描述】:
我正在尝试开发一个可以通过 Web 服务与 MOSS 站点交互的移动应用程序。
我希望它能够;
1) 检索文档(pdf、doc、docx、excel)
2) 以 PDF 或 Excel 格式检索报告服务报告。
我将使用 phonegap 或 rhomobile 来开发这个应用程序,我知道我可以使用 jquery 来使用 Web 服务。
我的问题围绕着 MOSS Web 服务安全。我将如何处理身份验证?
谢谢
【问题讨论】:
标签:
jquery
web-services
sharepoint
cordova
rhomobile
【解决方案1】:
身份验证如何在您的 MOSS 网站集上工作?是windows认证吗?如果是,那么您可以在创建 Soap 客户端以访问 Web 服务时使用模拟:
EndpointAddress endpointAddress = new EndpointAddress("http://site/_vti_bin/Lists.asmx");
//Just create a basicHttpBinding with standard web services settings
SoapClient soapClient = new SoapClient(basicHttpBinding, endpointAddress);
soapClient.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;
只需确保您的 web.config 中允许模拟。寻找节点
<identity impersonate="true" />
【解决方案2】:
如果您的用户在移动设备上登录他们的 AD 帐户,Hugo 的回答可能会奏效。
如果不是这种情况,您的移动应用程序可以调用您的网络服务。您的 Web 服务在应用程序池中运行,该应用程序池以允许调用共享点服务的用户身份运行。
然后使用 impersonate=false 调用 sharepoint Web 服务。
有几件事可能会给您带来问题:
- 您必须以某种方式验证您的用户,否则您将打开您的共享点站点。
- 通过 JSON 发送二进制数据也存在问题
JSON 没有
功能,所以它不太适合
作为声音或图像的载体
或其他大型二进制有效载荷。 JSON
针对数据进行了优化。除了,
交付可执行程序
数据交换系统可以
引入危险的安全问题。
http://www.json.org/xml.html