按角色隐藏奏鸣曲管理员菜单元素

时间:2014-07-10 07:54:13

标签: symfony sonata-admin sonata-user-bundle

我已经广泛阅读并尝试了一些示例,但仍然无法掌握Symfony2 ROLE和Sonata Admin。我有四个级别的用户,

  • SuperAdmin,基本上是我的开发者
  • 管理员是应用程序所有者。他可以访问除用户/组管理之外的所有内容。管理员添加了一个代理商,该代理商将收到包含系统凭证的电子邮件
  • 代理商然后添加为项目工作的人员(协调人)
  • 作为代理机构员工的辅导员,他们将现场参赛作品输入系统

我想在Sonata Admin中:

  • 协助者只能看到入门管理菜单
  • 仅查看条目和辅导员管理菜单的代理商
  • 管理员仅查看代理商,参赛作品和辅导员管理菜单
  • SuperAdmin查看其他所有内容,包括SonataUserBundle生成的用户和组管理

以下是我的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

0 个答案:

没有答案