使用 ADFS 登录到 SharePoint 2013 的 BCS 安全性修整不适用于自定义连接器。不工作是指当通过 Windows 身份验证登录时,有权访问这些 BCS 记录的用户可以在搜索中看到它们(这是正确的)。使用 ADFS 登录的同一用户无法在搜索中看到这些相同的记录(这是不正确的)。
我的设置是带有 ADFS 的 Windows 2012 R2 上的 SharePoint 2013。正在通过带有自定义 .NET 连接器的 BCS 对 SQL Server 数据库进行爬网。该连接器通过添加 ACL 在爬网时提供安全修整。ACL 是基于具有多个 AD 用户作为成员的 AD 安全组创建的(登录用户是这些成员之一)。AD 安全组包含在声明中,并显示如下:
<saml:Attribute AttributeName="Group"AttributeNamespace="http://schemas.xmlsoap.org/claims">
<saml:AttributeValue>BCSSecurityGroup1</saml:AttributeValue>
</saml:Attribute>
BCSSecurityGroup1 是包含用户的 AD 安全组。
奇怪的是,即使我让每个人都可以访问 ACL 中的这些记录(即使用 WellKnownSidType.WorldSid),ADFS 登录仍然不会在搜索中返回这些项目。更奇怪的是,如果我转到相关记录的 BCS 个人资料页面的 url,ADFS 用户确实可以访问。
这是问题。我需要做什么才能让搜索结果在爬网时反映 ACL 增加的安全性?