複数のユーザープロバイダーを1つのプロバイダーに設定できない理由を理解しようとしています。現在、ACLを構成しています。ユーザープロバイダーの場合、「ハードコードされた」ユーザーとデータベースからロードされるユーザーが必要です。
ドキュメントを読むと、 2つのユーザープロバイダー(1つはin_memory
ユーザー用、もう1つはユーザー用)を用意する必要はないと記載されていdatabase
ます。それらを単一のユーザープロバイダーに組み合わせることができるはずです(これが私がやろうとしていることです)。
推奨される構成は次のとおりです。
security:
providers:
main_provider:
memory:
users:
foo: { password: test }
entity:
class: Acme\UserBundle\Entity\User,
property: username
私の構成は次のとおりです。
security:
providers:
main_provider:
memory:
users:
foo: { password: test }
entity:
class: Company\EntitiesBundle\Entity\User,
property: username
残念ながら、この例外が発生します。
InvalidConfigurationException: Invalid configuration for path "security.providers.main_provider": You cannot set multiple provider types for the same provider
ただし、2つの異なるプロバイダーを設定してチェーンすると、問題なく機能します。なぜこれが起こるのか理解できませんか?ドキュメントに明確に記載されています- you can accomplish this even more easily by combining the two sources into a single provider
。
ここで何が欠けていますか?