私のプロジェクトには多くの役割があります: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. MVP:Presenterの役割に関する質問
- 2. PHP symfonyのmagic_quotes_gpcに関する問題
- 3. 行列分割に関する問題
- 4. RORモデル関連の問題
- 5. レッドマインと関連の問題
- 6. preg_replace_all()関連の問題
- 7. リファレンス関連の問題グラム++
- 8. Qt - Dll関連の問題
- 9. ビデオドライバVS2012に関連するWPFのビルドに関する問題
- 10. ModelFormと関連するオブジェクトの問題
- 11. エンティティマネージャとsymfony 2のphpunitに関する問題
- 12. Symfony 1.4異なる役割の異なるCRUD
- 13. 問題関連日付
- 14. BASHバージョン関連問題
- 15. symfonyで1つの役割しか持たないユーザ
- 16. Symfony 2 - 「別個の」役割に基づくACLチェック許可
- 17. symfonyのルーティング問題
- 18. IAMの役割を持つbotoの問題
- 19. フェッチ関連オブジェクトsymfonyの2本で
- 20. AWS ElasticSearch with S3を使用した役割の問題
- 21. symfonyでの役割の階層構造を取得する方法
- 22. Railsユーザと連絡先との関連での問題
- 23. 対応するテキストボックスに関連する動的チェックボックスの問題
- 24. 春のセキュリティログイン/ログアウトURL関連の問題
- 25. レールモデルの関連付けの問題
- 26. 文字列のエンコーディング関連の問題
- 27. ARIAの役割の検証課題
- 28. XMLとDjangoの問題(ユニコード関連?)
- 29. symfony 2のキャッシュクリアの問題
- 30. symfony bhLDAPAuthPluginリダイレクトの問題