2017-05-12 13 views
0

私は複雑なACLを必要としない簡単なプロジェクトを持っています。私のAdminユーザーが役割を持つことができますSonata Admin - なぜisGranted()でないadmin checkAccess()を使用するのですか

{% if admin.isGranted('VERIFY', object) %} 

::のように私はアクセスを確認し、テンプレートで

$this->admin->checkAccess('verify', $object); 

:そこCRUDControllerを拡張し、私のカスタムコントローラでカスタムアクション、私はこのようなアクセスをチェック作成したADMINをかSUPER_ADMIN

は、だけではなく、役割を確認するために、より良いではないでしょう:

$authorizationChecker->isGranted('SUPER_ADMIN'); 

{% is_granted('SUPER_ADMIN') %} 

アクセス制御のための管理を使用する方法について大したことは何ですか?私にとっては、ユーザーがADMINSUPER_ADMINかどうかだけを確認する方がずっと簡単です。

答えて

0

あなたはそれが「管理者」ではなくストレートAuthorizationCheckerに経由して行きたい理由は以下の通りです:

あなたはソナタが使用するセキュリティ戦略を変更することができますようソナタは、その設定を考慮に入れます

(NOOP 、vs role、vs acl、vs custom)、アクセスを確認する場所を変更する必要はありません。

この説明は意味がありますか?

関連する問題