所以实际上涉及两个Web服务, 1)SP 2013执行Web服务,该服务从SQL Server DB中获取数据 2)ASP.Net页面执行一个Web服务,该服务可以访问来自SP2013的数据(如列表中的项目)。
我认为1似乎是可行的,因为SP2013在AD级别对用户进行身份验证,并且该服务将以用户身份执行。如果数据库允许对所有进行读访问,那么应该没有问题,对吗?
2我不确定。服务是否会像“ASPNET USER”或“NETWORK SERVICE”或非用户帐户那样执行?这意味着服务将被拒绝访问,因为“ASPNET USER”无法访问SP站点/ etc。
答案 0 :(得分:0)
是的,您可以在ASP.Net应用程序或任何其他平台中使用SharePoint 2013中的数据。但是,不是创建新的Web服务来实现它(避免直接查询SharePoint SQL Server数据库),而是可以使用本机SharePoint Web服务。
要从门户网站中使用列表,库等中的数据,您可以将lists.asmx Web服务与GetListItems方法一起使用。
调用GetListItems方法时,您可以识别用户凭据:
myListsService.Credentials = new System.Net.NetworkCredential("user",
"password",
"domain");
请参阅此链接:http://msdn.microsoft.com/en-us/library/lists.lists.getlistitems(v=office.12).aspx
如何返回列表项:http://msdn.microsoft.com/en-us/library/office/ms429658(v=office.14).aspx