在我的网站中,用户可以使用简单帐户登录(在我的网站中创建,配置MY_OWN_USER提供商,通过电子邮件选择用户)或使用Facebook登录(通过fosfacebook捆绑集成)。
当我试图冒充用户时(附加链接'...?_ switch_user=demo@demo.com',如Symfony2 documentation中所述),Symfony2会记录此警告:
security.WARNING:切换用户失败:“用户未在Facebook上进行身份验证”
我已经检查了 Symfony \ Component \ Security \ Http \ Firewall \ SwitchUserListener ,看起来默认它不是MY_OWN_USER提供者,而是fosfacebook提供者试图通过facebook_id选择用户(如果我追加链接使用'...?_ switch_user = FACEBOOK_ID' - 切换用户正常工作!)
那么如何让SwitchUserListener获得MY_OWN_USER提供者,通过电子邮件选择用户而不是facebook id?
答案 0 :(得分:1)
在security.yml
中的防火墙配置中配置模拟时,您可以指定应使用哪个提供程序来查找被模拟的用户(ref)。例如:
switch_user:
provider: MY_OWN_USER
希望这有帮助!