0

我有一个使用 SharePoint 2007 搜索 Web 服务 ( http://localhost/_vti_bin/search.asmx) 的 Web 应用程序。我的范围包含多个内容源,它们都包含业务数据(通过外部数据库上的 SQL 查询抓取内容)。我需要这些内容源之一来为我提供安全修整结果。简单来说,我有两张表:

  • 表 A 内容:NodeId、Title、Content
  • 具有权限的表 B:NodeId、用户名

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

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

4

1 回答 1

1

有 3 个主要选项可用于对 SharePoint 搜索结果进行安全修整。他们包括:

  1. ISecurityTrimmerPre - SharePoint 2013 中的新增功能。允许在执行搜索查询之前为用户添加其他声明
  2. ISecurityTrimmerPost - 在早期版本的 SharePoint 中也称为 ISecurityTrimmer2。允许在执行搜索查询后逐一修剪搜索结果
  3. Business Connectivity Services Indexing Connectors - 允许您在搜索索引器对内容源进行爬网时向它提供 ACL

有一组很棒的博客文章展示了如何实现每个选项。

此外,这里是关于自定义安全修整的 SharePoint 会议 2012 会议的精彩视频。

高温高压

-尤金

于 2013-08-22T14:54:43.013 回答