私は階層的な役割を持つユーザーを含むSymfony2アプリを開発しています。Symfony2のドキュメントで説明されているようにロールとユーザーを実装したので、今は問題なくアプリケーションに登録、回復、ログインできます。
その時点で、アプリケーション内のオブジェクトを管理できるようにするためにいくつかのCRUDを開発しましたが、現在の実装では、現在のユーザーロールをチェックして、「選択した」アクションを実行できるようにするか、実行しないようにする必要があります。つまり、各コントローラーでセキュリティコンテキストを取得し、次にユーザーオブジェクトを取得して権限を確認します。次に、現在のユーザーがデータの所有者であることを確認する必要があります。つまり、ユーザーにクライアントがある場合は、URLが渡された変数/IDなどを確認する必要があります。現在のユーザーが所有/所属している-そしてアクセスを拒否するかどうか。
ですから、私が上記のようにアプリケーションを開発することに慣れていて、快適に感じている限り、将来の開発者ができないように、標準以上の方法で役割とデータを管理できる、より良いアプローチまたはSymfony2アプローチがあるのではないかと思います。コントローラとアクションの内部を確認するか、それぞれを確認する必要があります。また、バックグラウンドでのSQLの実行を最適化できるように、データまたはオブジェクトのフェッチまたはロードの方法をカスタマイズできることにも注意してください。