私は、Symfony Security Userモデル(Accountと呼ばれる)にログイン情報(ユーザ名、パスワード)だけが含まれるアプリケーションを持っています。残りのユーザーは別のモデル(ユーザーと呼ばれます)に保存されます。アカウントとユーザーの間には1対多の関係があります。この目的は、異なるプロジェクトに対して複数のユーザーを持つことができるようにすることですが、同じログインを持ちます。symfonyセキュリティでUserInterfaceとユーザを分けて
私の問題は、私がSymfonyでロールシステムを使用したいのですが、私はUserモデルにAccountモデルではなくロールを持たせたいと思っています。私はUserInterfaceがUserモデルではなくAccountモデルであるため、これをどのように解決できるかはわかりません。
Symfonyはこれをサポートしていますか、またはこのシステムのロールを独自に実装する必要がありますか?あなたがそのような役割を取得する関連付けを使用して
//Account
public function getRoles()
{
return $this->getUser()->getRoles();
}
、あなたはまだアカウントレベルのメソッドを持っている:
用語はちょっと混乱しますが、アカウントがログインしたときに使用するユーザーを知っていれば、カスタムUserProviderでアカウントとユーザーを読み込んでから、ユーザーロールをアカウントオブジェクトに転送します。その時点で、セキュリティシステムは満足しています。 – Cerad