権限を使用してファイルブラウザへのユーザー アクセスを制限する必要があります。たとえば、「can_upload_files」権限を持つユーザーのみが、カスタム ダッシュボードで Filebrowser を表示できる必要があります。
これは可能ですか?
ありがとう!
権限を使用してファイルブラウザへのユーザー アクセスを制限する必要があります。たとえば、「can_upload_files」権限を持つユーザーのみが、カスタム ダッシュボードで Filebrowser を表示できる必要があります。
これは可能ですか?
ありがとう!
達成したいことが単にダッシュボードから「メディア管理」グループを非表示にすることである場合は、dashboard.py
コードで次の条件を使用できます。
if context.get('user').has_perm('accounts.can_upload_files'):
self.children.append(modules.LinkList(
_('Media Management'),
column=2,
children=[
{
'title': _('FileBrowser'),
'url': '/admin/filebrowser/browse/',
'external': False,
},
]
))
これは実際には FileBrowser へのアクセスを制限するものではなく、リンクを非表示にするだけであることに注意してください。
これは、ミドルウェアによって実行できます。何かのようなもの:
from django.http import HttpResponseForbidden
class MediaLibraryAccess(object):
def process_request(self, request):
if not request.path.startswith('/admin/media-library'):
return None
if request.user and request.user.is_superuser:
return None
return HttpResponseForbidden('Access Forbidden')
ミドルウェアを有効にすることを忘れないでくださいsettings.py
MIDDLEWARE_CLASSES = (
...
"myapp.middleware.MediaLibraryAccess",
)
この例ではチェックしてsuperuser
いますが、特定の権限を簡単にチェックできます...