如果用户没有查看相应文档的权限,目前整个ListItem将从Doc库中删除,但如果用户至少可以看到包含列表项的元数据,我真的很喜欢它,并阻止它们从访问相应的文档(即他们点击文档链接并被拒绝,或他们手动输入网址并被拒绝等)。
是否有一些文档库事件处理程序处理“访问”我可以实现的文档并在将文档传递给它们之前检查用户的权限?或者沿着这些方向的东西..
答案 0 :(得分:0)
列表/库具有以下项目级事件处理程序:
如您所见,没有事件可以处理打开项目。
为了防止用户从库listview webpart访问文档,您可以扩展OOTB listview webpart以合并您所需的功能,或者使用辅助Webpart通过SharePoint API或javascript操作OOTB listview webpart。
答案 1 :(得分:0)
这是一个完全实验性的东西,我没有尝试过,也没有听说过有人,但是这里有: 在Template \ Xml文件夹下有一个名为serverfiles.xml的文件。您也可以创建一个,只需确保如下构建名称:serverfiles [yourname] .xml。 此文件根据文件类型控制重定向,这种方式将InfoPath XML文件重定向到Forms Server。 你可以:
通过这种方式,用户可以看到元数据(因为从SharePoint的角度来看,他们是读者),但无法看到文档(因为您正在阻止它)。我再次尝试过,但它可能会起作用。
如果你决定去做,我很想知道它是怎么回事:)
答案 2 :(得分:0)
我的问题的答案:创建一个自定义的httpHandler来处理必须截取的文档类型。
好文章: http://dotnetslackers.com/articles/aspnet/WatermarkingPDFDocumentsUsingHttpHandlers.aspx http://blogs.msdn.com/b/kaevans/archive/2010/08/04/deploying-an-asp-net-httphandler-to-sharepoint-2010.aspx
此外,Visual Studio创建的通用处理程序代码可能存在错误,请阅读本文以创建带有代码的httpHandler, http://aspnetresources.com/blog/httphandler_code_behind