0

最近ベンダー/インストールを実行しましたが、ソナタ管理者が次のエラーで壊れています。

「」のアイテム「roles」は、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 /vendorupdateを使用しないように注意してください

php bin /vendorinstallを使用する

于 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 に答える