Download 如何在plone4.3中禁用下载

Download 如何在plone4.3中禁用下载,download,plone,Download,Plone,在plone4.3中,我在plone4.3 at_download中编写了一些代码。当人们访问包含“at_download”的url时,他们将被阻止。但当点击url时,不包含“at_download”,他们也可以下载文件 谢谢 我使用documentviewer显示.doc.pdf.ppt,我只想允许他们使用document viewer查看文件。但无法从url下载文件。为了确保没有人可以获取您的文件,我想最好的方法是创建您自己的文件字段并修改index\u html方法 您必须创建自己的基于A

在plone4.3中,我在plone4.3 at_download中编写了一些代码。当人们访问包含“at_download”的url时,他们将被阻止。但当点击url时,不包含“at_download”,他们也可以下载文件

谢谢


我使用documentviewer显示.doc.pdf.ppt,我只想允许他们使用document viewer查看文件。但无法从url下载文件。

为了确保没有人可以获取您的文件,我想最好的方法是创建您自己的文件字段并修改
index\u html
方法

  • 您必须创建自己的基于ATFile的内容类型 如果要使用此类型而不是默认的plone文件,请使用相同的门户类型

  • 用您自己的
    CustomFileField

  • 您的文件字段可能看起来像

    来自plone.app.blob导入字段
    类CustomFileField(field.FileField):
    def index_html(self、instance、REQUEST=None、RESPONSE=None、,
    无输出=假,处置=无):
    “文档字符串”
    如果self.有权下载():
    #违约行为
    super(CustomFileField,self).index\u html(
    比如,,
    请求=无,
    响应=无,
    无输出=假,
    处置=无)
    其他:
    #如果用户没有此权限,请输入您的代码
    想养什么就养什么
    def具有下载(自我)的权限:
    “”“进行权限检查”“”
    返回bool()
    

    捷径是猴子补丁,但我不建议这样做

    不确定这是否可行,但您也可以尝试更改内容上“文件”字段的
    读取权限


    但这可能也会隐藏文件预览(或破坏模板,在这种情况下,您必须修复它)。

    那么您的站点中是否不包含该文件?或者你真的想让浏览器在某个时候显示文件吗?然后,您无法阻止所有下载,因为就服务器而言,浏览器显示文件与出于其他目的下载的文件之间没有区别。试图阻止“下载”是一项不切实际的任务。您试图保护哪种文件不被下载?形象?音频PDF?查看和下载文件的权利(相同的事情)是对该文件的权限。确保用户没有该权限,并且他们无法下载该权限。