【问题标题】:Roles in Sonata AdminSonata 管理员中的角色
【发布时间】:2014-03-13 13:48:56
【问题描述】:

美好的一天。我不明白如何在奏鸣曲管理包中向用户添加角色。也就是说,具有特定角色的用户必须在管理面板中只看到一个实体并且只与她一起工作。目前,只有一个角色 - ROLE_SONATA_ADMIN,它可以访问整个管理面板。在official site 上找到了这样一个例子:

security:
    ...
    role_hierarchy:
        # for convenience, I decided to gather Sonata roles here
        ROLE_SONATA_FOO_READER:
            - ROLE_SONATA_ADMIN_DEMO_FOO_LIST
            - ROLE_SONATA_ADMIN_DEMO_FOO_VIEW
        ROLE_SONATA_FOO_EDITOR:
            - ROLE_SONATA_ADMIN_DEMO_FOO_CREATE
            - ROLE_SONATA_ADMIN_DEMO_FOO_EDIT
        ROLE_SONATA_FOO_ADMIN:
            - ROLE_SONATA_ADMIN_DEMO_FOO_DELETE
            - ROLE_SONATA_ADMIN_DEMO_FOO_EXPORT
        # those are the roles I will use (less verbose)
        ROLE_STAFF:             [ROLE_USER, ROLE_SONATA_FOO_READER]
        ROLE_ADMIN:             [ROLE_STAFF, ROLE_SONATA_FOO_EDITOR, ROLE_SONATA_FOO_ADMIN]
        ROLE_SUPER_ADMIN:       [ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]

但我无法理解,而不是嵌入DEMO,而不是FOO。尝试了很多选项,但没有任何效果。

在此先感谢,并为我的英语不好感到抱歉。

【问题讨论】:

    标签: symfony sonata-admin


    【解决方案1】:

    权限是:

    • LIST:查看对象列表
    • VIEW:查看一个对象的详细信息
    • CREATE:创建一个新对象
    • 编辑:更新现有对象
    • DELETE:删除现有对象
    • EXPORT(用于原生 Sonata 导出链接)

    【讨论】:

    • 这是可以理解的。其他不清楚。那而不是 FOO 和 DEMO。
    • 这取决于您的服务声明。例如,如果您已经声明了这样的服务sonata.admin.demo.foo Sonata 将检查用户是否具有 ROLE_SONATA_ADMIN_DEMO_FOO_EDIT/LIST/VIEW...
    猜你喜欢
    • 1970-01-01
    • 2017-10-16
    • 2020-10-22
    • 1970-01-01
    • 1970-01-01
    • 2016-03-05
    • 1970-01-01
    • 2016-06-30
    • 2011-09-26
    相关资源
    最近更新 更多