5

我正在尝试使用switch_userSymfony2安全文档中描述的技术。不幸的是,它不起作用。当我浏览到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

关于问题是什么的任何想法?

4

1 回答 1

2

您是否尝试清除 symfony 缓存?我也有一些无法解释的问题,只是通过清除它来解决。尝试没有坏处:)

更新:阅读问题评论后,由于缺少调试栏,我猜你可能是在生产环境中。这可能是你麻烦的根源。尝试通过运行以下命令清除缓存并切换到开发环境:

php app/console --env=dev cache:clear

Update2:您是否通过 app_dev.php 文件访问您的应用程序?

于 2012-12-20T18:57:58.460 回答