1

在我的网站中,用户可以使用简单帐户(在我的网站中创建,配置 MY_OWN_USER 提供程序,通过电子邮件选择用户)或使用 facebook 登录(通过 fosfacebook 捆绑包集成)登录。

当我试图模拟用户时(附加链接'...?_switch_user=demo@demo.com',如Symfony2 文档中所述)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 选择用户?

4

1 回答 1

1

在您的防火墙配置中配置模拟时security.yml,您可以指定应使用哪个提供程序来查找被模拟的用户(参考)。例如:

switch_user:
    provider: MY_OWN_USER

希望这可以帮助!

于 2015-07-08T08:26:32.990 回答