私のプロジェクトには多くの役割があります:admin、HR、manager、employee。 Symfony2で一般的な方法で実装するにはどうすれば新しい役割を将来追加することができますか?symfonyでの役割に関連する問題
0
A
答えて
2
Symfony2は、UserInterface
インターフェイスを使用して認証されたユーザーを表します。
このインターフェイスは、ユーザが持つすべてのロールを返すgetRoles
メソッドを実装するように要求します。
このUserInterfaceの実装方法に基づいて、これらのロールをデータベース、Webサービスなどから取得できます。
# app/config/security.yml
security:
# ...
providers:
in_memory:
users:
ryan: { password: bb87a29949f3a1ee0559f8a57357487151281386, roles: 'ROLE_USER' }
admin: { password: 74913f5cd5f61ec0bcfdb775414c2fb3d161b620, roles: [ 'ROLE_ADMIN', 'ROLE_RH'] }
もう一つの方法は、EntityProviderを使用することです。これらのユーザーに提供する
1つの簡単な方法は、in-memory
プロバイダです。詳細はcookbook entryをご覧ください。
この最後の例では、ユーザーの役割は、ハコードされた配列に静的に格納されていますが、テーブルの関連付けを使用して別のテーブルから取得できます。それはFOSUserBundleで行われます。
あなたも、ロール階層を定義することができます。
# app/config/security.yml
security:
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
だから、役割ROLE_ADMINを持つ任意のユーザーでも役割ROLE_USERを継承していること。
詳細はthe docsをご覧ください。
関連する問題
- 1. メソッド分割に関連する問題
- 2. MVP:Presenterの役割に関する質問
- 3. symfonyでのURLに関する問題
- 4. symfonyの役割によるアクセス制御
- 5. symfonyの.gitignoreに関する問題
- 6. PHP symfonyのmagic_quotes_gpcに関する問題
- 7. symfonyのパフォーマンスに関する問題
- 8. 役割を管理し、役割に権限を割り当てる - symfony
- 9. symfony:ルーティングに関する問題
- 10. symfony 2.8に関する問題
- 11. MATLABのSVRに関連する問題
- 12. railsのgetScriptに関連する問題
- 13. 1つの関連で2つの役割(UML図)
- 14. AWS s3サービスとsymfonyユーザの役割
- 15. 適用コールに関連する問題
- 16. 行列分割に関する問題
- 17. レッドマインと関連の問題
- 18. preg_replace_all()関連の問題
- 19. react.jsクロムブラウザ関連の問題
- 20. リファレンス関連の問題グラム++
- 21. Sequelizeプール関連の問題
- 22. Qt - Dll関連の問題
- 23. RORモデル関連の問題
- 24. アクセスクエリ - フィルタ関連の問題
- 25. ポップアップ関連の問題
- 26. ビデオドライバVS2012に関連するWPFのビルドに関する問題
- 27. ModelFormと関連するオブジェクトの問題
- 28. 問題のsymfony
- 29. 各エンティティに関連するsymfonyのフィールド
- 30. エンティティフレームワークコア関連エンティティを含む関連エンティティのロードに関する問題