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 - 用户可以拥有多个帐户,如何在它们之间切换的主要内容,如果未能解决你的问题,请参考以下文章
Symfony FOSUser Bundle错误必须配置路径“fos_user”处的子节点“db_driver”
Symfony 4.4 FOS user-bundle api/auth/login 在 null 上调用成员函数 findOneBy()