I use multiple user providers in my app:
security:
providers:
chain_provider:
chain:
providers: [entity, json]
entity:
id: myapp.entity.user_provider
json:
id: myapp.json.user_provider
Now I need to load a user from a service
services:
myapp.my.service:
class: AppBundle\Services\My
argument: [@the.defined.chain.provider]
// AppBundle\Services\My
namespace AppBundle\Services;
class My
{
public function loadUser($username)
{
return $this->userProvider->loadUserByUsername($username);
}
}
How can I use the chain provider explicitly ?
By looking at the code of SecurityBundle, you just can use the service security.user.provider.concrete.{name}
, so in your case security.user.provider.concrete.chain_provider