Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php symfony跨不同主机模拟_Php_Symfony_Impersonation - Fatal编程技术网

Php symfony跨不同主机模拟

Php symfony跨不同主机模拟,php,symfony,impersonation,Php,Symfony,Impersonation,我试图在Symfony中模拟不同的用户,但与其他示例不同,在我的例子中,不仅是提供者不同,主机也不同 firewalls: admin: pattern: ^/ host: "%host_admin%" provider: admin [...] switch_user: role: ROLE_ADMIN provider: client #host: "%host_public%"

我试图在Symfony中模拟不同的用户,但与其他示例不同,在我的例子中,不仅是提供者不同,主机也不同

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
防火墙:
管理员:
模式:^/
主机:“%host\u admin%”
提供者:管理员
[...]
交换机用户:
角色:角色\管理员
提供者:客户端

#主机:“%host\u public%”使用
chainUserProvider
可以将一个或多个用户提供程序添加到一起,以便从这些多个源获取用户。请注意,将提供程序添加到ChainUserProvider的顺序很重要:一旦找到用户,它将检查该用户,即使该用户的凭据失败

parameters:
    chain_providers: "mydatabase1,mydatabase2"

security:
    providers:
        mydatabase1:
            entity:
                class: My\UserBundle\Entity\Admin
                property: username

        mydatabase2:
            entity:
                class: My\UserBundle\Entity\Customer
                property: username

        my_chain:
            chain:
                providers: %chain_providers%

chainUserProvider
允许您将一个或多个用户提供程序添加到一起,以便可以从这些多个源获取用户。请注意,将提供程序添加到ChainUserProvider的顺序很重要:一旦找到用户,它将检查该用户,即使该用户的凭据失败

parameters:
    chain_providers: "mydatabase1,mydatabase2"

security:
    providers:
        mydatabase1:
            entity:
                class: My\UserBundle\Entity\Admin
                property: username

        mydatabase2:
            entity:
                class: My\UserBundle\Entity\Customer
                property: username

        my_chain:
            chain:
                providers: %chain_providers%

谢谢@Mohamed的回答。我遇到的问题是无法在防火墙中提取实体数据,我甚至可以在页面底部的symfony开发栏(其他公共实体之一)中看到正确的用户名;但是能够在不同的主机上作为同一个实体登录(最初我在管理主机上,我想在客户机主机上作为客户机登录)…谢谢@Mohamed的回答。我遇到的问题是无法在防火墙中提取实体数据,我甚至可以在页面底部的symfony开发栏(其他公共实体之一)中看到正确的用户名;但是能够在不同的主机上作为同一个实体登录(最初我在管理主机上,我想在客户机主机上作为客户机登录)…您好@rrubiorr81,您找到解决方案了吗?我面临着同样的问题,我想我没有@NuryagdyMustapayev。。最后做了一些不同的事情。如果可行,仍然好奇;)你好@rrubiorr81,你找到解决办法了吗?我面临着同样的问题,我想我没有@NuryagdyMustapayev。。最后做了一些不同的事情。如果可行,仍然好奇;)