クライアントがサブドメインで識別されるマルチテナント システムを開発します。各クライアントは多数のユーザーを持つことができます。
ほとんどのユーザーは 1 つのサブドメインにしかアクセスできませんが、複数のサブドメインにアクセスできるユーザーもいます。ユーザーは、各サブドメインで異なる役割を持つこともできます。
そのため、ユーザーが現在のサブドメインで何らかの役割を持っているかどうかを確認する必要があります。そうでない場合、認証は失敗するはずです。
次に、ユーザーが複数のサブドメインにアクセスできる場合、サブドメインを切り替えることができます。この場合、ユーザーのロールをデータベースから再クエリする必要があります。
現在、カスタム EntityProvider を使用した非常にハックなソリューションを使用しています。私はそれにとても不満です。
PS: システムの背後にあるデータベースは古いものなので、ACL などを使用するように変更することはできません。