我正在尝试开发一个可以通过 Web 服务与 MOSS 站点交互的移动应用程序。我希望它能够;
1) 检索文档(pdf、doc、docx、excel) 2) 检索 PDF 或 excel 形式的报告服务报告。
我将使用 phonegap 或 rhomobile 来开发这个应用程序,我知道我可以使用 jquery 使用 Web 服务。
我的问题围绕着 MOSS Web 服务安全。我将如何处理身份验证?
谢谢
我正在尝试开发一个可以通过 Web 服务与 MOSS 站点交互的移动应用程序。我希望它能够;
1) 检索文档(pdf、doc、docx、excel) 2) 检索 PDF 或 excel 形式的报告服务报告。
我将使用 phonegap 或 rhomobile 来开发这个应用程序,我知道我可以使用 jquery 使用 Web 服务。
我的问题围绕着 MOSS Web 服务安全。我将如何处理身份验证?
谢谢
身份验证如何在您的 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" />
如果您的用户在移动设备上登录了他们的 AD 帐户,Hugo 的回答可能会奏效。
如果不是这种情况,您的移动应用程序可以调用您的网络服务。您的 Web 服务在应用程序池中运行,该应用程序池以允许调用共享点服务的用户身份运行。
然后使用 impersonate=false 调用 sharepoint Web 服务。
有几件事可能会给您带来问题:
JSON 没有 <[CDATA[]]> 特性,因此它不太适合充当声音或图像或其他大型二进制有效负载的载体。JSON 针对数据进行了优化。此外,在数据交换系统中交付可执行程序可能会带来危险的安全问题。