我即将结帐/评估Symphony3的ACL功能。即使每个人都建议使用选民,我也不知道它是否适合我的需求,所以我决定深入探讨该主题。正如我在Source和API-Documentation中发现的那样,我遇到了两种方法:
getParentAcl()
setParentAcl(AclInterface $acl = null)
这些方法是用于创建权限层次结构还是为了其他目的而存在?
我想拥有的是一棵“权限树”,例如:
+ registered User [VIEW, VOTE]
|
+-+ authorized User (level 1) [FLAG, UN- and PUBLISH]
|
+ authorized User (level 2) [EDIT, DELETE]
这样权限就可以从父级到子级汇总。在上面的示例中,“授权用户(级别2)”应具有所有权限(“查看”,“投票”,“标记”,“ ...”,“删除”)。
总而言之:想法是为角色分配某些权限,这些角色可以彼此继承,并使用RoleSecurityIdentity在类级别上分配权限。
symfony3的ACL父/子关系是否意味着这样做?
感谢您的帮助,并希望获得一些详细的文档!
提前感谢!
最佳答案
PermissionGrantingStrategy首先检查所有对象范围的ACE。如果不适用,将检查类别范围的ACE。如果不适用,则将使用父ACL的ACE重复该过程。如果不存在父ACL,则将引发异常。
Process for Reaching Authorization Decisions
关于inheritance - Symfony 3-ACL parent /子女关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37386695/