0

我最近做了一个供应商/安装,现在我的奏鸣曲管理员因以下错误而崩溃:

SonataAdminBundle::standard_layout.html.twig 第 92 行中不存在“”的项目“角色”

这是树枝代码:

{% if app.security %}
  {% for role in app.security.token.roles %}
    {% if not allowed %}
      {% set allowed = role.role == 'ROLE_SONATA_ADMIN' %}
    {% endif %}
  {% endfor %}
{% endif %}

有人有什么想法吗?

谢谢!

4

3 回答 3

1

我搜索了带有责备选项的管理包,它来自 7 天前的提交

所以你要做的就是去 deps.lock

找到 adminBundle 提交哈希(在我的情况下,它以 4a.... 开头)用 25b401e6271ee0fd896d700d0328b06994e4e138 替换哈希,这是导致问题的提交之前的提交

我试过了,仪表板工作正常

祝你好运

编辑

注意不要使用 php bin/vendor update 因为它会更新提交哈希

使用 php bin/vendor 安装

于 2012-06-12T19:57:13.027 回答
0

这是修复:https ://github.com/Wiakowe/SonataAdminBundle/commit/e139527c05b22176ee3efab987ebe752668d4489

删除第 90-99 行并替换为以下内容:

{% if app.security and is_granted('ROLE_SONATA_ADMIN') %}
于 2012-06-12T21:12:21.953 回答
0

我对 SonataAdminBundle 的最新版本也有同样的问题。如果您允许所有人打开您的管理面板,则会出现此问题。至少对于工作站点来说,这不是通常的解决方案。

要授予所有人访问您的管理面板的权限,请执行以下操作。将路径/admin放在防火墙下,将行添加到security.yml部分中的文件security.firewals中

    admin_area:
        pattern: ^/admin
        anonymous: ~

因此,每个客户端都将被授权为具有现有令牌的匿名用户,并且不会出现错误。

PS对不起语法错误,但我想每个人都会理解我的:)

于 2012-06-21T12:59:29.157 回答