0

私は広く読んで例を試しましたが、まだ Symfony2 ROLE と Sonata Admin のコツをつかむことができません。4 つのレベルのユーザーがいて、

  • 基本的に私が開発者である SuperAdmin
  • アプリケーションの所有者である管理者。ユーザー/グループ管理以外のすべてにアクセスできます。管理者は、認証情報を含む電子メールをシステムに送信する代理店を追加します
  • その後、プロジェクトのために働く人々(ファシリテーター)の従業員を追加するエージェンシー
  • フィールドに入るエージェンシーの従業員であるファシリテーター システムへのエントリー

Sonata Admin で次のことを行います。

  • ファシリテーターのみがエントリー管理メニューを見る
  • Entry と Facilitator Management メニューのみを表示するエージェンシー
  • 代理店、エントリー、ファシリテーターの管理メニューのみを表示する管理者
  • SonataUserBundle によって生成されたユーザーおよびグループ管理を含む他のすべてを表示するための SuperAdmin

私のsecurity.ymlファイルは次のようになります

security:
role_hierarchy:
    ROLE_FACILITATOR:   
        -   ROLE_USER
        -   ROLE_SONATA_ADMIN
        -   ROLE_SONATA_ADMIN_ENTRY_EDIT
        -   ROLE_SONATA_ADMIN_ENTRY_LIST
        -   ROLE_SONATA_ADMIN_ENTRY_CREATE
        -   ROLE_SONATA_ADMIN_ENTRY_VIEW
        -   ROLE_SONATA_ADMIN_ENTRY_DELETE
    ROLE_AGENCY:
        -   ROLE_FACILITATOR
        -   ROLE_SONATA_ADMIN_FACILITATOR_EDIT
        -   ROLE_SONATA_ADMIN_FACILITATOR_LIST
        -   ROLE_SONATA_ADMIN_FACILITATOR_CREATE
        -   ROLE_SONATA_ADMIN_FACILITATOR_VIEW
        -   ROLE_SONATA_ADMIN_FACILITATOR_DELETE
    ROLE_OLX_ADMIN:
        -   ROLE_AGENCY
        -   ROLE_SONATA_ADMIN
        -   ROLE_SONATA_ADMIN_AGENCY_EDIT
        -   ROLE_SONATA_ADMIN_AGENCY_LIST
        -   ROLE_SONATA_ADMIN_AGENCY_CREATE
        -   ROLE_SONATA_ADMIN_AGENCY_VIEW
        -   ROLE_SONATA_ADMIN_AGENCY_DELETE
    ROLE_SUPER_ADMIN: 
        -   ROLE_OLX_ADMIN
        -   ROLE_ALLOWED_TO_SWITCHS
4

0 に答える 0