【问题标题】:Sonata admin, global Access per ROLE not using FOSUserBundleSonata 管理员,每个角色的全局访问权限不使用 FOSUserBundle
【发布时间】:2013-12-12 20:56:31
【问题描述】:

我想要它,这样我就可以在 symfony2 中定义每个角色的操作

这是我目前拥有的

role_hierarchy:
        ROLE_MEMBER: ROLE_GUEST
        ROLE_STAFF: ROLE_MEMBER
        ROLE_ADMIN: [ROLE_STAFF, ROLE_SONATA_OWNER, ADMIN, OWNER]

sonata_admin:
    #title_logo: bundles/acmedemo/img/fancy_acme_logo.png
    security:
        handler: sonata.admin.security.handler.acl
        # acl security information
        information:
            GUEST:    []
            STAFF:    [EDIT, LIST, CREATE]
            EDITOR:   [OPERATOR, EXPORT]
            ADMIN:    [MASTER]
            OWNER:    [OWNER]
        # permissions not related to an object instance and also to be available when objects do not exist
        # the DELETE admin permission means the user is allowed to batch delete objects
        admin_permissions: [CREATE, LIST, DELETE, UNDELETE, EXPORT, OPERATOR, MASTER]
        # permission related to the objects
        object_permissions: [VIEW, EDIT, DELETE, UNDELETE, OPERATOR, MASTER, OWNER]

我正在寻找能够让 ROLE_ADMIN 授予 SONATA ROLE OWNER 的东西,例如,我真的不知道如何做到这一点,而且奏鸣曲文档更适合我不使用的 FOSUserBundle。

任何帮助表示赞赏

【问题讨论】:

    标签: php symfony sonata-admin


    【解决方案1】:

    如果您只是想将 ROLE_ADMIN 授予所有已经拥有 ROLE_SONATA_OWNER 的用户,您可以通过将您的角色层次结构(参见the Symfony2 docs'“Hierarchical Roles”部分)修改为:

    role_hierarchy:
        ROLE_MEMBER:       ROLE_GUEST
        ROLE_STAFF:        ROLE_MEMBER
        ROLE_ADMIN:       [ROLE_STAFF, ADMIN, OWNER]
        ROLE_SONATA_OWNER: ROLE_ADMIN
    

    【讨论】:

    • 我正在尝试将所有 SONATA 角色授予我的 ROLE_ADMIN,但是我不知道如何指定 SONATA 角色,当我生成列表时,它为每个管理服务提供了一个特定的角色,这是相当多的例如,只为 ROLE_ADMIN 提供 CREATE 操作
    • 好吧,我不知道奏鸣曲,所以我似乎无法帮助你。祝你好运。 :)
    猜你喜欢
    • 2017-10-16
    • 1970-01-01
    • 1970-01-01
    • 2013-09-13
    • 2020-10-22
    • 1970-01-01
    • 2017-01-07
    • 1970-01-01
    • 2015-09-14
    相关资源
    最近更新 更多