ユーザーがログインするときに、接続がデフォルトのものではない2番目のデータベースを使用して認証される必要があります。UserProviderInterface を拡張するユーザー プロバイダーの作成に関する多くの投稿を読みましたが、どれも機能しませんでした。
私が今までやったこと:
- FOSUser クラスを拡張するカスタム ユーザー クラス (MyCustomUser) があります。
- config.yml ファイルで 2 つの接続と 2 つのエンティティ マネージャーを定義しました。
カスタム ユーザー クラスのプロバイダーを security.yml で定義しました。
プロバイダー:
chain_provider: chain: providers: [in_memory, fos_userbundle, myusers] ... myusers: entity: { class: myproject\myBundle\Entity\MyCustomUser}
問題は、MyCustomUser インスタンスの資格情報 (ユーザー名/パスワード) を使用してログインしようとすると、Symfony が MyCustomUser テーブルが存在しないデフォルトの接続に対してこのデータを検証しようとすることです。つまり、デフォルト接続からデータを読み込もうとしていて、「テーブル default_connection.MyCustomUser が存在しません」のようなエラーが発生します。
必要なエンティティ マネージャーを読み込むには、どのような手順に従う必要がありますか?
前もって感謝します!