Sql server 如何按外部内容类型筛选sharepoint搜索结果以进行安全调整?

Sql server 如何按外部内容类型筛选sharepoint搜索结果以进行安全调整?,sql-server,sharepoint,sharepoint-search,bcs,security-trimming,Sql Server,Sharepoint,Sharepoint Search,Bcs,Security Trimming,基本上,我有一个.NET应用程序,它使用Sharepoint Server 2016在版本控制方面存储和管理文件。所有其他数据都存储在MS SQL Server中,包括用户数据和权限 内容爬网和搜索索引正在工作,我使用关键字查询语言从Web服务检索搜索结果。它通过服务帐户连接到Sharepoint,因此搜索结果不是特定于用户的 现在我需要根据存储所有权限的表来修剪搜索结果。为了简单起见,我定义了一个数据库视图,它由两列组成:FileId、permitedUsers(一个包含对该文件具有权限的所有

基本上,我有一个.NET应用程序,它使用Sharepoint Server 2016在版本控制方面存储和管理文件。所有其他数据都存储在MS SQL Server中,包括用户数据和权限

内容爬网和搜索索引正在工作,我使用关键字查询语言从Web服务检索搜索结果。它通过服务帐户连接到Sharepoint,因此搜索结果不是特定于用户的

现在我需要根据存储所有权限的表来修剪搜索结果。为了简单起见,我定义了一个数据库视图,它由两列组成:FileId、permitedUsers(一个包含对该文件具有权限的所有唯一用户名的字符串,例如“User1 User2 User3”)

Sharepoint文档库除了包含其他列外,还包含FileId列

我所尝试的:

  • 我将数据库视图定义为外部内容类型,并将其作为列添加到Sharepoint文档库中。但Sharepoint似乎无法从行中“获取”文件ID,将其传递到SQL视图并检索相应的PermittedUsers字段。但是,我不希望为此专门设立专栏,因为这将意味着每个文件都有一个新版本
  • 检索搜索结果,然后通过代码对其进行过滤(=获取当前用户有权访问的所有文件,并删除未包含文件ID的搜索结果)。这也不是一个选项,因为对于拥有数千个文件的用户来说,性能非常糟糕
如何将权限信息连接到Sharepoint,以便以高效的方式编制索引和检索

如果文件在SQLServer中存储为blob,我只需要执行一个到permissions表的简单连接。如何在Sharepoint和SQL Server之间实现类似的功能

我对Sharepoint很陌生,所以任何想法都会有帮助