我正在尝试使用Symfony2 security docs中描述的switch_user
技术。不幸的是,它不起作用。当我浏览到http://myurl.com/foo?_switch_user=bar
时,页面会刷新,但我仍然以管理员用户身份登录,而不是bar
。
以下是我app/config/security.yml
的相关部分:
role_hierarchy:
ROLE_ADMIN: ROLE_USER, ROLE_ALLOWED_TO_SWITCH
ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
providers:
administrators:
entity: { class: VNNPressboxBundle:User, property: username }
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
secured_area:
pattern: ^/
form_login: ~
logout: ~
anonymous: ~
switch_user: true
关于问题是什么的任何想法?
答案 0 :(得分:2)
您是否尝试过清除symfony缓存?我也有一些无法解释的问题,只是通过清除它来解决。尝试:)没有坏处。
更新:在阅读问题评论后,由于缺少调试栏,我猜你可能在生产环境中。这可能是你麻烦的根源。 尝试通过运行以下命令清除缓存并切换到开发环境:
php app/console --env=dev cache:clear
Update2:您是否通过app_dev.php文件访问您的应用程序?