【问题标题】:Access Admin Panel in SonataAdminBundle without SonataUserBundle在没有 SonataUserBundle 的情况下访问 SonataAdminBundle 中的管理面板
【发布时间】:2018-05-19 05:05:10
【问题描述】:

我在一个使用 SonataAdminBundle 的 Symfony 项目中工作,我有 3 种类型的用户:ROLE_SUPER_ADMIN ROLE_CORRESPONDANTROLE_CLIENT

ROLE_SUPER_ADMINROLE_CORRESPONDANT 有权访问管理面板,

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

  • 仪表盘

    • 产品
    • 股票
    • 运营
  • 用户

    • 通讯员
    • 客户

但我想只为 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

如果可行,请有人帮我出主意? 谢谢大家

【问题讨论】:

  • 你不应该使用 SonataUserBundle 吗?但是您已将其标签添加到此问题中?请更新您的问题以解释您现在如何构建菜单。如果您还没有,请查看 KnpMenuBundle。
  • 我应该使用 SonataAdminBundle,但不要使用 SonataUserBundle
  • 对不起,你是对的。但是你现在如何构建你的菜单呢?
  • 我通过服务构建我的菜单
  • 服务? KnpMenu?

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


【解决方案1】:

app/config/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

【讨论】:

  • 感谢您的回复,但我不喜欢创建其他路线,我喜欢使用奏鸣曲的路线,
  • 这可能是正确的答案,但它只是代码。请解释你的答案。
  • 我尝试使用 Sonata 为 AdminClass 生成的默认路由来测试这个答案,但我有这个错误:“预期数组项的参数“路由”和“标签”。
猜你喜欢
  • 1970-01-01
  • 2020-12-02
  • 2015-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多