【发布时间】:2016-12-14 23:27:04
【问题描述】:
我试图在 Symfony 中模拟不同的用户,但与 Symfony impersonation - separate firewalls and separate user providers 等其他示例不同,在我的情况下,不仅提供者不同,而且主机不同。
firewalls:
admin:
pattern: ^/
host: "%host_admin%"
provider: admin
[...]
switch_user:
role: ROLE_ADMIN
provider: client
#host: "%host_public%" <-- tried this.. does not work
context: cmb_context
client:
pattern: ^/
host: "%host_public%"
provider: client
[...]
switch_user:
role: ROLE_ADMIN
provider: client
context: cmb_context
因此,当我尝试模拟用户时,通过此设置,它仍保留在管理站点中,当然,已正确获取的客户端无法在管理端进行身份验证。当然,当移动到客户端时,身份验证会话不存在。
我尝试让系统的主机知道在哪里冒充“in”但没有运气。
我可能不得不求助于http://symfony.com/doc/current/security/impersonating_user.html#events 中提到的听众,但我还没有找到有关如何做到这一点的详细信息。
有什么想法吗?提前致谢。
【问题讨论】:
-
嗨@rrubiorr81,你找到解决方案了吗?我也面临同样的问题
-
我想我没有@NuryagdyMustapayev .. 最终做了一些不同的事情。如果可行的话,仍然很好奇;)
标签: php symfony impersonation