在一个奏鸣曲列表视图上显示“访问被拒绝”,但在另一个奏鸣曲视图上则没有

时间:2018-07-24 12:55:09

标签: php symfony sonata-admin

我正在基于Symfony 2.7和Sonata Admin进行项目。我以超级用户身份登录,并且打开了两个浏览器选项卡。在第一个标签上,我已经成功加载了Video实体的列表视图。

在第二个选项卡上,我尝试为名为VideoDerivative的实体加载新的管理屏幕。而不是列表视图,我得到了未捕获的AccessDeniedException。扩展错误表明在CRUDController.php中调用了以下逻辑:

public function listAction()
{
    if (false === $this->admin->isGranted('LIST')) {
        throw new AccessDeniedException();
    }

我发现这很有趣,因为如上所述,我可以查看其他实体类型的列表视图。

我不确定如何开始调试它。你会怎么做?

1 个答案:

答案 0 :(得分:0)

原来,我需要创建和分配以下角色:

    ROLE_APP_ADMIN_VIDEO_DERIVATIVE_ALL:
        - ROLE_APP_ADMIN_VIDEO_DERIVATIVE_CREATE
        - ROLE_APP_ADMIN_VIDEO_DERIVATIVE_EDIT
        - ROLE_APP_ADMIN_VIDEO_DERIVATIVE_DELETE
        - ROLE_APP_ADMIN_VIDEO_DERIVATIVE_LIST
        - ROLE_APP_ADMIN_VIDEO_DERIVATIVE_WORKFLOW

将它们放到位(并让我的用户访问它们)解决了我的问题。