title: Changing default User object for in-memory provider
body: <p>I'm just trying to change default <code>User</code> object for in-memory provider. Default <code>User</code> object is <code>Symfony\Component\Security\Core\User\User</code>. But this object doesn't fill my requirements, so i copied that object and added some properties for my requirements then named it as <code>InMemoryUser</code> and used it like following:</p>
  <pre><code>encoders:
      App\Component\Security\Core\User\InMemoryUser: plaintext
  </code></pre>
  <p>Then i got the following error when tried to run the app.</p>
  <pre><code>No encoder has been configured for account &quot;App\Component\Security\Core\User\InMemoryUser&quot;
  </code></pre>
  <p>I saw the problem after investigeting about half hour. Symfony is calling <code>Symfony\Component\Security\Core\User\InMemoryUserProvider</code> by default and using <code>Symfony\Component\Security\Core\User\User</code> object to create in-memory users in <code>__construct</code> method.</p>
  <p>Then i tryed to override default <code>InMemoryUserProvider</code> as following.</p>
  <pre><code>services:
  
      App\Component\Security\Core\User\CustomInMemoryUserProvider:
          decorates: security.user.provider.concrete.api_user_provider
          arguments:
              $users: []  # this should be contains in-memory users defined in the security.yaml but i dont know how to do that.
  </code></pre>
  <p>This works fine except a little problem, does not inject <code>$users</code> like <code>InMemoryUserProvider</code>. Normally, <code>$users</code> contains in-memory user list defined in <code>security.yaml</code>.</p>
  <p>Now, how can i inject <code>$users</code> for my <code>CustomInMemoryUserProvider</code> and is this a good practice to change <code>User</code> object for <code>InMemoryProvider</code> ?</p>
  <p>Thanks for your answers in advance.</p>
  <p>I'm using <code>symfony 5.1</code> by the way.</p>