Tôi muốn hiển thị một cái gì đó như thế:Symfony2: Cách hiển thị tên tài khoản quản trị trong khi mạo danh tài khoản người dùng?
Trường hợp 1: "đăng nhập như USER"
@ UserName [logout]
Không có vấn đề ở đây, tôi chỉ cần làm:
@ {{app.user.use rname}} [< a href = "{{path (" logout ")}}" > logout </A >]
Trường hợp 2: "đăng nhập như ADMIN"
@ AdminName [logout]
Các công trình tương tự ở đây:
@ {{app.user.username}} [< a href = "{{path (" logout ")}}" > logout </A >]
Trường hợp 3: "đăng nhập như ADMIN mạo nhận một USER"
AdminName @ UserName [trở lại]
Bây giờ, đó là sự cố:
{{?? .. ở đây .. ??}} @ {{app.user.username}} [< a href = "{{(app.request.getRequestUri ~ '? _switch_user = _exit')}}" > trở </A >]
này là giải pháp duy nhất mà tôi biết ... có vẻ như rất nhiều mã cho một sipmle hiển thị username:/
{# iterating through user roles to find ROLE_PREVIOUS_ADMIN #}
{% for role in app.security.token.roles %}
{% if role.source is defined %}
{{ role.source.user.username }}
{% endif %}
{% endfor %}
@ {{ app.user.username }} [ <a href="{{ (app.request.getRequestUri ~ '?_switch_user=_exit') }}">return</a> ]
có cách nào khác? Tôi cần một giải pháp TWIG tinh khiết -> đây là một phần của mẫu chính của tôi (được mở rộng bởi tất cả các mẫu khác) -> Tôi không thể thêm mã điều khiển vào tất cả các hành động, chỉ để hiển thị tên người dùng.
Bạn có biết cách thực hiện điều này trong Symfony3 không? Biến app.security đã được [không dùng nữa kể từ v2.6 và đã bị xóa trong v3] (http://symfony.com/doc/2.8/reference/twig_reference.html#app). – user128216