繁体   English   中英

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

[英]Sonata admin-bundle - haven't logout nav bar

我已经安装了带有 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 %}

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

ROLE_SONATA_ADMIN

给用户。

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

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

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

sonata_admin:
    security:
        role_admin: ROLE_SUPER_DUPER_ADMIN

默认情况下它是ROLE_SONATA_ADMIN

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM