【问题标题】:How can you exit a switch_user by Symfony 3.4?Symfony 3.4 如何退出 switch_user?
【发布时间】:2019-12-04 15:30:12
【问题描述】:

我有一个可以从用户切换的项目。模仿者工作,但我不能离开模仿者。因此,我一直使用要切换的用户登录。

例如:用户 A 登录并切换到用户 B。当他们点击 /?_switch_user=_exit 时,您希望该用户回到用户 A。但用户留在用户 B。

可能是什么问题?

我已将这些信息包含在 security.yml 中:

firewalls:
        main:
            pattern: ^/
            two_factor:
                auth_form_path: 2fa_login
                check_path: 2fa_login_check
            form_login:
                provider: fos_userbundle
                login_path: fos_user_security_login
                check_path: fos_user_security_check
                default_target_path: homepage
                always_use_default_target_path: false #true
                #csrf_token_generator: security.csrf.token_manager
            logout:
                path:   fos_user_security_logout
                target: /
            anonymous:    true
            logout_on_user_change: false
            switch_user: { role: ROLE_ADMIN }

更新:用户 A 是 ROLE_ADMIN,B 是 ROLE_CONSUMER

路由:

home_redirect:
    path:     /{_locale}
    defaults: { _controller: AppBundle:Default:index, _locale: 'nl' }
    requirements:
        _locale:  nl|en|fr
app:
    resource: '@AppBundle/Controller/'
    prefix:   /{_locale}
    defaults: {_locale: 'nl'}
    type: annotation
    requirements:
        _locale:  nl|en|fr

更新 2: 重定向到退出的错误是什么: error of wrong user

感谢您的帮助!

【问题讨论】:

    标签: impersonation symfony-3.4


    【解决方案1】:

    由于您使用 /?_switch_user=_exit 链接到 root,请确保您的防火墙定义涵盖该路径:

            main:
                pattern: ^/
    

    【讨论】:

    • 感谢您的反应。但这一切都已准备好添加到防火墙中。请参阅我的要求了解更多信息
    • @PatrickVollenbroek 当您尝试退出链接时,您的调试分析器会说什么?
    • 我已经在上面的消息中给出了回复。可以看到有错误。但我不知道这是怎么发生的。 Url 是 /nl/admin,在防火墙中保持 /.../admin 仅适用于 Admin
    • 你有什么想法吗?
    • @PatrickVollenbroek 似乎是您如何配置 FOSUserBundle 的一个潜在问题。你能分享你的配置吗(fos_user.yaml?)你对“fos_user.user_class”的配置是什么?
    猜你喜欢
    • 1970-01-01
    • 2018-06-12
    • 2022-01-10
    • 2020-10-01
    • 2019-02-21
    • 2018-11-04
    • 2019-01-23
    • 2018-06-17
    • 2018-05-27
    相关资源
    最近更新 更多