index_html
誰もあなたのファイルを取得できないようにするには、独自の FileField を作成してメソッドを変更するのが最善の方法だと思います
独自の ATFile ベースのコンテンツ タイプを作成する必要があります デフォルトの plone ファイルの代わりにこのタイプを使用する場合は、同じ portal_type を使用してください
file
フィールドを独自のものでオーバーライドするCustomFileField
あなたの FileField は次のようになります...
from plone.app.blob import field
class CustomFileField(field.FileField):
def index_html(self, instance, REQUEST=None, RESPONSE=None,
no_output=False, disposition=None):
"""Docstring"""
if self.has_permission_to_download():
# Default behaviour
super(CustomFileField, self).index_html(
instance,
REQUEST=None,
RESPONSE=None,
no_output=False,
disposition=None)
else:
# Your code if the user does not have the permission
raise WhatEverYouWant
def has_permission_to_download(self):
"""Do your permission check"""
return bool()
ショートカットはモンキー パッチですが、お勧めしません。