[英]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.