4

そのため、複数のクライアントでアプリケーションを開発しています。ユーザーは、それぞれ異なる役割を持つ複数のクライアントにアクセスできます。たとえば、ユーザー A はクライアント C1に対してROLE_XXを持っていますが、クライアント C2に対してROLE_YYを持っています。

私の知る限り、FosUserBundleはユーザーの役割を列roles (デフォルト テーブルfos_user ) に格納するため、この構造は私のニーズには適していません。

ロール管理に関するドキュメントを読んだことがありますが、関連するものは何もないので、 FosUserBundleの範囲外の機能だと思います。

そこで、それら (クライアント、ユーザー、ロール) を関連付ける追加のテーブルを作成することを考えていましたが、私は FOS の専門家ではないので、これが正しい方法であるかどうかは本当にわかりません。または、何かが足りないのかもしれません。どんなヒントでも大歓迎です!

4

1 に答える 1

5

あなたの要件は、Symfony のセキュリティ ロール システムが提供するものを超えています。ACL を維持するか、アクセス制御ロジックをカスタム セキュリティ ボーターにカプセル化する必要があります。私は最近、後者のアプローチについてここに書きました:

http://kriswallsmith.net/post/15994931191/symfony2-security-voters

于 2012-01-23T20:41:48.410 に答える