使用Guard Auth,Symfony 3.4,FOSuser捆绑包。
我的注册用户可以创建用于不同任务的子帐户。如果我的用户注销,然后登录到该子帐户(来自Fuser捆绑包的路由),则所有工作均符合预期。帐户需要特权,一切正常。
我想为我的登录用户创建一个-所有子帐户的切换器。 (每个子帐户都有其所有者ID和acc_type字段)
如何创建适当的控制器(继承适当的接口等),形式以及使用FOSuser服务中内置的功能来重新加载/切换用户至其他帐户?
在渲染控制器视图中(填写隐藏字段作为其密码,添加“提交” btn以启动登录)
答案 0 :(得分:1)
我相信您可以使用impersonating user feature完成指定的行为。
您应该首先在配置文件中启用该选项
# config/packages/security.yaml
security:
# ...
firewalls:
main:
# ...
switch_user: true
也请注意,此功能仅对具有特殊角色ROLE_ALLOWED_TO_SWITCH
的用户可用。使用role_hierarchy
将此角色分配给需要它的用户。