確かにあなたは、単にROLE_SOMEROLE.Inのsecurity.ymlファイルで始まるすべての役割を追加することができますmemebersが
アクセスすることができますアクセス2を1.limitするために、2つの主要部分があります。 access_control:パターンを制限し、誰がアクセスできるのかを指定します。 b。 role_hierarchy:ここでは、ロールの階層構造です。以下の例では、管理ユーザー(ROLE_ADMIN)はロールROLE_USER、ROLE_NEWS_AUTHORを持ちます。だから彼はUSERとNEWS_AUTHORのすべてのページにアクセスできます。お使いのコントローラで
access_control:
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }/login any one can access this pattern
- { path: ^/admin/, roles: ROLE_ADMIN }//block all pattern /admin/anything*
- { path: ^/news/, roles: ROLE_NEWS_AUTHOR } //block all pattern /news/anything*
role_hierarchy:
ROLE_ADMIN: [ROLE_USER,ROLE_NEWS_AUTHOR]
あなたは役割を確認することができ、
if(TRUE ===$this->get('security.context')->isGranted('ROLE_ADMIN'))
{
// do something related to ADMIN
}
else if(TRUE ===$this->get('security.context')->isGranted('ROLE_NEWS_AUTHOR'))
{
// do something related to News Editor
}
が、これはあなたのお役に立てば幸いです。 HAppyコーディング。
お寄せいただきありがとうございます。 – JeanValjean
また、役割の名前は常に「ROLE_」で始まる必要があります。そうしないと、Symfonyはそれらを認識できません。 – DarksteelPenguin