FOSuser捆绑包-用户可以有多个帐户,如何在它们之间切换

时间:2019-01-04 05:20:57

标签: php symfony fosuserbundle multi-user

使用Guard Auth,Symfony 3.4,FOSuser捆绑包。

我的注册用户可以创建用于不同任务的子帐户。如果我的用户注销,然后登录到该子帐户(来自Fuser捆绑包的路由),则所有工作均符合预期。帐户需要特权,一切正常。

我想为我的登录用户创建一个-所有子帐户的切换器。 (每个子帐户都有其所有者ID和acc_type字段)

如何创建适当的控制器(继承适当的接口等),形式以及使用FOSuser服务中内置的功能来重新加载/切换用户至其他帐户?

在渲染控制器视图中(填写隐藏字段作为其密码,添加“提交” btn以启动登录)

1 个答案:

答案 0 :(得分:1)

我相信您可以使用impersonating user feature完成指定的行为。

您应该首先在配置文件中启用该选项

# config/packages/security.yaml
security:
    # ...

    firewalls:
        main:
            # ...
            switch_user: true

也请注意,此功能仅对具有特殊角色ROLE_ALLOWED_TO_SWITCH的用户可用。使用role_hierarchy将此角色分配给需要它的用户。