通过过滤当前用户来保护外部列表

时间:2011-05-12 14:04:50

标签: sharepoint-2010 bcs

我已经设置了一个外部内容类型,其中包含一个包含Active Directory帐户的列,以将每条记录映射到用户。现在,我希望用户只能在列表中看到AD帐户条目与当前用户的凭据匹配的记录。

所以我尝试了以下approach,并成功地在ReadItem / create / update / delete操作上创建了用户上下文过滤器。但是,在ReadList操作上没有选项,向导具有不同的过滤器选项。

结果是当前用户可以看到外部列表中的所有项目,但只能打开那些用他的帐户标记的项目,因此过滤器肯定有效。但是,仅对项目而不是整个列表上的过滤器是无用的(无法打开的项目会使用户感到困惑,列表视图可能会暴露数据等等。)

我尝试使用当前用户webpart过滤此列表,这会为我们提供所需的结果,但列表本身当然仍然位于后台,可以通过URL打开。

如何在ReadList上应用用户上下文过滤器?如果那是不可能的,你在哪里以及如何实现这样的过滤器?

1 个答案:

答案 0 :(得分:4)

从SharePoint Designer导出BDC元数据模型并手动编辑以包含UserContext过滤器。然后通过管理中心的BDC服务应用程序重新导入模型。