Symfony2的:无法模拟用户在网站登录使用两个不同的用户提供(Symfony2: unable

2019-10-17 07:25发布

在我的网站的用户可以登录,在简单的帐户(在我的网站创建,配置MY_OWN_USER提供商,它通过电子邮件用户选择),或者使用Facebook登录(通过fosfacebook束集成)。

当我试图模拟用户(附加链接“...... _ switch_user=demo@demo.com?”,像在描述Symfony2的文档 )Symfony2的日志这样的警告:

security.WARNING:切换用户失败:“该用户没有通过验证的Facebook”

我检查的Symfony \分量\安全\ HTTP \防火墙\ SwitchUserListener,默认情况下看起来变得不MY_OWN_USER供应商,而是fosfacebook提供商,其试图通过facebook_id选择用户(如果我追加为“...?_ switch_user = FACEBOOK_ID”链接 - 切换用户正常工作)!

因此,如何使SwitchUserListener会得到它通过Facebook的ID通过电子邮件用户选择不MY_OWN_USER供应商?

Answer 1:

当您的防火墙配置中配置模拟security.yml ,您可以指定哪些供应商应被用于发现谁正在模拟的用户( REF )。 例如:

switch_user:
    provider: MY_OWN_USER

希望这可以帮助!



文章来源: Symfony2: unable to impersonate user when website log-in using two different user providers