2017-11-16 7 views
0

私は、Symfony Security Userモデル(Accountと呼ばれる)にログイン情報(ユーザ名、パスワード)だけが含まれるアプリケーションを持っています。残りのユーザーは別のモデル(ユーザーと呼ばれます)に保存されます。アカウントとユーザーの間には1対多の関係があります。この目的は、異なるプロジェクトに対して複数のユーザーを持つことができるようにすることですが、同じログインを持ちます。symfonyセキュリティでUserInterfaceとユーザを分けて

私の問題は、私がSymfonyでロールシステムを使用したいのですが、私はUserモデルにAccountモデルではなくロールを持たせたいと思っています。私はUserInterfaceがUserモデルではなくAccountモデルであるため、これをどのように解決できるかはわかりません。

Symfonyはこれをサポートしていますか、またはこのシステムのロールを独自に実装する必要がありますか?あなたがそのような役割を取得する関連付けを使用して

//Account 
public function getRoles() 
{ 
    return $this->getUser()->getRoles(); 
} 

、あなたはまだアカウントレベルのメソッドを持っている:

+0

用語はちょっと混乱しますが、アカウントがログインしたときに使用するユーザーを知っていれば、カスタムUserProviderでアカウントとユーザーを読み込んでから、ユーザーロールをアカウントオブジェクトに転送します。その時点で、セキュリティシステムは満足しています。 – Cerad

答えて

0

あなただけのアカウントモデルから役割を取得することができます。

+0

有望な音。しかし、確かに、それらのロールは同じUserオブジェクトに関連付けられていても、Userオブジェクトごとに異なるはずです。 – theva

関連する問題