搜索Web服务中的安全修整

时间:2013-04-19 08:53:10

标签: sharepoint search sharepoint-2007 ssp security-trimming

我有一个使用SharePoint 2007搜索网络服务(http://localhost/_vti_bin/search.asmx)的网络应用程序。我的范围包含多个内容源,所有内容源都包含业务数据(内容通过外部数据库上的SQL查询进行爬网)。我需要其中一个内容来源为我提供安全修整结果。简单来说,我有两个表:

  • 表A包含内容:NodeId,标题,内容
  • 表B,具有权限:NodeId,用户名

现在,抓取工具索引表A没有任何问题。我的问题是,在使用查询Web服务进行搜索时,我找不到对结果进行安全修整的解决方案。 Web服务使用服务帐户,不会模拟登录用户。是否有可能以某种方式将用户名传递给querypacket对象,或以其他任何方式检查表B,用户名是否可以访问NodeId?

由于我打算迁移到SP2013,如果在MOSS2007中没有办法,也许你们中的一些人也知道这个Sharepoint版本的解决方案?

1 个答案:

答案 0 :(得分:1)

对SharePoint搜索结果进行安全修整有三个主要选项。它们包括:

  1. ISecurityTrimmerPre - SharePoint 2013中的新功能。允许在执行搜索查询之前为用户添加其他声明
  2. ISecurityTrimmerPost - 在早期版本的SharePoint中也称为ISecurityTrimmer2。允许在执行搜索查询后逐个修剪搜索结果
  3. Business Connectivity Services索引连接器 - 允许您在爬网内容源时为搜索索引器提供ACL
  4. 有一套很棒的blog articles,展示了如何实施每个选项。

    此外,这是一个关于custom security trimming的SharePoint Conference 2012会话的精彩视频。

    HTH

    -Eugene