0

ユーザーがログインするときに、接続がデフォルトのものではない2番目のデータベースを使用して認証される必要があります。UserProviderInterface を拡張するユーザー プロバイダーの作成に関する多くの投稿を読みましたが、どれも機能しませんでした。

私が今までやったこと:

  1. FOSUser クラスを拡張するカスタム ユーザー クラス (MyCustomUser) があります。
  2. config.yml ファイルで 2 つの接続と 2 つのエンティティ マネージャーを定義しました。
  3. カスタム ユーザー クラスのプロバイダーを security.yml で定義しました。

    プロバイダー:

      chain_provider:
          chain:
              providers: [in_memory, fos_userbundle, myusers]
      ...
    
      myusers:
          entity: { class: myproject\myBundle\Entity\MyCustomUser}
    

問題は、MyCustomUser インスタンスの資格情報 (ユーザー名/パスワード) を使用してログインしようとすると、Symfony が MyCustomUser テーブルが存在しないデフォルトの接続に対してこのデータを検証しようとすることです。つまり、デフォルト接続からデータを読み込もうとしていて、「テーブル default_connection.MyCustomUser が存在しません」のようなエラーが発生します。

必要なエンティティ マネージャーを読み込むには、どのような手順に従う必要がありますか?

前もって感謝します!

4

1 に答える 1