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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FOSuser Bundle - 用户可以拥有多个帐户,如何在它们之间切换相关的知识,希望对你有一定的参考价值。

使用Guard Auth,Symfony 3.4,FOSuser Bundle。

我的注册用户可以为不同的任务创建子帐户。如果我的用户注销,并登录到该子帐户(来自Fuser bundle的路由)All按预期工作。帐户需要priveledges,一切正常。

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

如何在FOSuser服务中创建适当的控制器(继承适当的接口等),表单和使用以重新加载/切换用户到他的其他帐户?

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

答案

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

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

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

    firewalls:
        main:
            # ...
            switch_user: true

另请注意,该功能仅适用于具有ROLE_ALLOWED_TO_SWITCH特殊角色的用户。使用role_hierarchy将此角色提供给需要它的用户。

以上是关于FOSuser Bundle - 用户可以拥有多个帐户,如何在它们之间切换的主要内容,如果未能解决你的问题,请参考以下文章

奏鸣曲 Sontauser 和 fosuser

Symfony FOSUser Bundle错误必须配置路径“fos_user”处的子节点“db_driver”

Symfony 4.4 FOS user-bundle api/auth/login 在 null 上调用成员函数 findOneBy()

Sonata Admin 与 FOSuser 的集成

Symfony 4/JMS/FOSUser:无法从 FOS\UserBundle 序列化数据

第五章 MVC之Bundle详解