我已经设置了一个外部内容类型,其中包含一个包含Active Directory帐户的列,以将每条记录映射到用户。现在,我希望用户只能看到列表中 AD 帐户条目与当前用户的凭据匹配的记录。
因此,我尝试了以下方法,并成功地在 ReadItem/创建/更新/删除操作上创建了用户上下文过滤器。但是,在 ReadList 操作中,它没有选项,向导具有不同的筛选器选项。
结果是当前用户可以查看外部列表中的所有项目,但只能打开那些用他的帐户标记的项目,因此过滤器肯定有效。但是,仅对项目而不是整个列表进行过滤是没有用的(无法打开的项目会使用户感到困惑,列表视图无论如何都可能会公开数据等)。
我尝试使用当前用户 Web 部件过滤此列表,这为我们提供了所需的结果,但列表本身当然仍然位于后台,可以通过 URL 打开。
如何在 ReadList 上应用用户上下文筛选器?如果这是不可能的,你在哪里以及如何实现这样的过滤器?
从 SharePoint Designer 导出 BDC 元数据模型,并手动对其进行编辑以包含 UserContext 筛选器。然后通过管理中心中的 BDC 服务应用程序重新导入模型。