我想"隐藏"显示列表的所有地方的某些用户的某些文档。也就是说,文档列表对于不同的用户将是不同的。例如,对于user1,我想隐藏包含" abc"对于user2,我想隐藏包含" def"。
的文档是否有可以部署的SharePoint Web部件(或其他内容),它将执行一些可以过滤所有站点列表的代码?理想情况下,这个"解决方案"将输入列表和用户名作为输入,并返回列表的子集。 SharePoint只会显示已过滤的列表。此外,出于性能原因,输入不应该是列表中的整个文档集,而应该只是显示的那些文档。
此外,我知道实现此目的的一种可能方法是通过文档的权限。不幸的是,权限不是我可以利用的东西,因为文档本质上必须是公开的。
另外,要明确的是,我并不是要问代码应该像过滤那样(尽管示例可能会有所帮助),而是存在一种机制来完成我需要的过滤类型。
感谢您的帮助, 埃里克
答案 0 :(得分:1)
最佳解决方案绝对是权限,但如果您无法使用它,则可以使用受众群体定位。转到文档库设置并启用受众群体定位。启用后,您的文档中将包含受众目标字段。
您可以在此处获得有关受众群体定位的更多信息http://technet.microsoft.com/en-us/library/cc261958.aspx
如果这不是您要查找的内容,您可以在库中创建自定义视图,并使用[Me]参数为当前用户创建过滤器。例如您可以创建一个多用户字段,并写下您不想看到该文档的人的姓名。之后,您可以创建一个带有过滤器的视图[Me]不在该字段上。但是,如果用户对文档有权限并且知道文档的URL,则不能拒绝用户访问文档。