【问题标题】:Sonata Admin - assign permissions to rolesSonata 管理员 - 为角色分配权限
【发布时间】:2017-10-16 15:47:36
【问题描述】:

我不了解 Symfony ACL 的工作原理,尤其是使用 Sonata...

Sonata 有一些权限,例如:

LIST - 查看对象列表

VIEW - 查看一个对象的详细信息

CREATE - 创建一个新对象

编辑 - 更新现有对象

DELETE - 删除现有对象

EXPORT -(用于原生奏鸣曲导出链接)

ALL- 授予 LIST、VIEW、CREATE、EDIT、DELETE 和 EXPORT

我还为我自己的自定义操作分配了我自己创建的权限:

protected $accessMapping = array(
    'VERIFY' => 'EDIT',
    'UNVALIDATE' => 'EDIT',
    'CLOSE' => 'EDIT'
);

据我了解,我只需要授予用户 EDIT 权限即可使用 VERIFYUNVALIDATECLOSE

管理员用户可以有 3 个角色:

security:
    role_hierarchy:
        ROLE_ADMIN: ROLE_SONATA_ADMIN
        ROLE_SUPER_ADMIN: ROLE_ADMIN

现在根据角色用户应该能够拥有某些权限。

例如ROLE_ADMIN 应该有 LIST, VIEW, EDIT, EXPORTROLE_SUPER_ADMIN 应该被授予 ALL

我该如何管理它?

P.S.我没有使用SonataUserBundle

【问题讨论】:

    标签: symfony acl sonata-admin sonata symfony-2.8


    【解决方案1】:

    我通常只使用 SecurityVoters

    http://www.branchbit.be/blog/using-custom-voters-in-sonata-admin

    这为您提供了一种简单的方法来检查角色、权限和对象属性,并确定特定用户是否允许对特定对象执行特定操作。

    【讨论】:

    • 给出了这样一个很好的例子。谢谢!
    • 链接已损坏。我们有新的地点吗?
    猜你喜欢
    • 2016-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-14
    • 2013-09-13
    • 2012-10-16
    • 2020-10-22
    • 1970-01-01
    相关资源
    最近更新 更多