私はFormtypeを持っています。私は、どのフィールドが表示されているかを決定したいので、現在のUseres ROLEにアクセスする必要があります。Symfony:Formtypeまたはsecurity.authorization_checkerで現在のユーザーロールを取得する方法
if (!$this->get('security.authorization_checker')->isGranted('IS_ADMIN')) { ....
私はFormtypeを持っています。私は、どのフィールドが表示されているかを決定したいので、現在のUseres ROLEにアクセスする必要があります。Symfony:Formtypeまたはsecurity.authorization_checkerで現在のユーザーロールを取得する方法
if (!$this->get('security.authorization_checker')->isGranted('IS_ADMIN')) { ....
あなたはサービスとしてフォームを登録して、引数としてsecurity.authorization_checker
を渡し、サンプルコードの下に確認することができます は、私はif節を行うことができるように、例えばsecurity.authorization_checker
へのアクセスを取得することが可能です。その後、
form.service.id:
class: YourFormClass
arguments: ['@security.authorization_checker']
tags:
- { name: form.type }
その後、あなたのフォームクラスで__construct(AuthorizationChecker $authorizationChecker)
メソッドを作成し、サービスとしてにformTypeは、コンテナを注入し、上記のように行うことができますすることができますROLE
いいえ、symfony 3では、fromtypeにコンストラクタを持たせることはできません – Zwen2012
いいえ、symfony 3.2を使用しています。フォームに__construct()を追加することはできます。symfony3 *がformTypeに__constructを許可していないことがわかりましたか? イベントsymfony3.2のドキュメントで__constructを見つけることができます。http://symfony.com/doc/current/form/use_empty_data.htmlを確認してください。 –
@MaulikSavaliyaは皆さんに完全に同意しています。私たちはsymfonyの任意のバージョンで構築メソッドを使用できます。 –
をチェックするために
AuthorizationChecker
を使用しています。 –