Sonata admin-bundle - 没有注销导航栏

时间:2017-03-14 21:08:25

标签: symfony fosuserbundle logout sonata-admin sonata-user-bundle

我已经使用User-bundle和FOSUserBundle安装了Sonata-admin-bundle 3.x.大多数情况下,这些东西都运行良好但在管理面板中缺少注销按钮。注销按钮显示在DEV环境中的页脚中,但不显示在PROD中。任何人都知道如何将注销按钮添加到右上角的上方导航栏?有人能帮我吗 ?

 {% block user_block %}
    {% if app.user %}
        {% set _bg_class          = "bg-light-blue" %}
        {% set _logout_uri        = url('sonata_user_admin_security_logout') %}
        {% set _logout_text       = 'user_block_logout'|trans({}, 'SonataUserBundle') %}
        {% set _profile_uri       = sonata_user.userAdmin.isGranted('EDIT', app.user) ? sonata_user.userAdmin.generateUrl('edit', {id: sonata_user.userAdmin.id(app.user)}) : sonata_user.userAdmin.generateUrl('show', {id: sonata_user.userAdmin.id(app.user)}) %}
        {% set _profile_text      = 'user_block_profile'|trans({}, 'SonataUserBundle') %}
        {% set _user_image        = sonata_user.defaultAvatar ? asset(sonata_user.defaultAvatar) : null %}
        {# Customize this with your profile picture implementation, see below for example #}
        {#{% set _user_image  = app.user.profilePicture|default(asset(sonata_user.defaultAvatar)) %}#}

        {% if is_granted('ROLE_PREVIOUS_ADMIN') and sonata_user.impersonating %}
            {% set _bg_class    = "bg-light-green" %}
            {% set _logout_uri  = url(sonata_user.impersonating.route, sonata_user.impersonating.parameters| merge({'_switch_user': '_exit'})) %}
            {% set _logout_text = 'switch_user_exit'|trans({}, 'SonataUserBundle') %}
        {% endif %}

        <li class="user-header {{ _bg_class }}">
            {% if _user_image %}
                <img src="{{ _user_image }}" class="img-circle" alt="Avatar" />
            {% endif %}
            <p>{{ app.user }}</p>
        </li>{
        <li class="user-body">

        </li>}<li class="user-footer">
            <div class="pull-left">
                <a href="{{ _profile_uri }}" class="btn btn-default btn-flat"><i class="fa fa-user"></i> {{ _profile_text }}</a>
            </div>

            <div class="pull-right">
                <a href="{{ _logout_uri }}" class="btn btn-default btn-flat"><i class="fa fa-sign-out fa-fw"></i> {{ _logout_text }}</a>
            </div>
        </li>
    {% endif %}
{% endblock %}

3 个答案:

答案 0 :(得分:1)

确保您已将角色ROLE_ADMIN分配给您的用户,例如在security.yml中的角色层次结构中。

我有完全相同的问题,这解决了它。

答案 1 :(得分:1)

要查看注销按钮,您需要分配角色

  

ROLE_SONATA_ADMIN

对用户。

答案 2 :(得分:0)

首先,您必须检查或设置配置中的Sonata管理员角色(Sonata Admin Bundle Configuration Reference):

sonata_admin:
    security:
        role_admin: ROLE_SUPER_DUPER_ADMIN

默认情况下为ROLE_SONATA_ADMIN

然后不要忘记更新security.yaml中的角色层次结构并将相应的角色设置给用户。