在没有SonataUserBundle的SonataAdminBundle中访问管理面板

时间:2017-12-05 13:52:22

标签: symfony fosuserbundle sonata-admin symfony-sonata sonata

我在SonataAdminBundle的Symfony项目中工作,我有3种类型的用户: ROLE_SUPER_ADMIN ROLE_CORRESPONDANT ROLE_CLIENT

ROLE_SUPER_ADMIN ROLE_CORRESPONDANT 有权访问管理面板,

在管理员面板中我有一个这样的菜单:

  • Dashbord

    • 产品
    • 股票
    • 操作
  • 用户

    • Correspondants
    • 客户

但我想只为 ROLE_CORRESPONDANT 显示此项目:

  • 仪表板
    • 操作
  • 用户
    • 客户

我现在用SonataUserBundle很容易,但是我不应该使用它的问题,我应该只使用FOSUserBundle,

sonata_admin:

    dashboard: 
        groups:
            Accueil:
                icon: '<i class="fa fa-home"></i>'

                items:
                    - app.admin.produit
                    // I would like to define roles her for each item

如果可行,有人可以帮我解释一下吗? 谢谢大家

1 个答案:

答案 0 :(得分:1)

的应用程序/配置/ config.yml

sonata_admin:
    dashboard:
        groups:
            news:
                label:                ~
                label_catalogue:      ~
                items:
                    - sonata.news.admin.post
                    - route:        blog_home
                      label:        Blog
                      roles:        [ ROLE_FOO, ROLE_BAR ]
                    - route:        blog_article
                      route_params: { articleId: 3 }
                      label:        Article
                roles: [ ROLE_ADMIN, ROLE_SONATA_ADMIN]

link