Wagtail 中“报告”管理菜单及其子菜单项的权限限制

问题描述 投票:0回答:0

目标: 在我的 Wagtail 网站中,我想拒绝所有普通用户(即不是超级用户,不是版主/编辑)访问“报告”管理菜单及其所有子菜单项,例如“锁定页面”、“工作流程”, ““网站历史”,“老化页面”等

我不想在“报告”管理菜单下创建任何自定义子菜单项,例如“具有未发布更改的页面”。

我知道如何对普通用户完全隐藏“报告”管理菜单。我的目标是拒绝许可,除了隐藏。

到目前为止我尝试了什么: 按照https://github.com/wagtail/wagtail/issues/6014我创建了这两个文件:

  1. views.py 包含:
from wagtail.admin.auth import permission_denied
from wagtail.admin.views.reports import ReportView
class MyReport(ReportView):
    def dispatch(self, request, *args, **kwargs):
        if not self.request.user.is_superuser:
            return permission_denied(request)
        return super().dispatch(request, *args, **kwargs)
  1. wagtail_hooks.py 包含

从 .views 导入 MyReport

期望的行为: 如果普通用户访问任何报告子菜单,例如http://127.0.0.1:8000/admin/reports/site-history/

,他们应该会收到“权限被拒绝”错误
wagtail wagtail-admin
© www.soinside.com 2019 - 2024. All rights reserved.