【问题标题】:Symfony 3 — ACL parent/child relationSymfony 3 — ACL 父/子关系
【发布时间】:2016-05-23 08:56:43
【问题描述】:

我即将检查/评估 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 级)”应具有所有权限(VIEW、VOTE、FLAG、...、DELETE)。

总而言之:思路就是给一个Role分配一定的Permissions,可以互相继承,使用RoleSecurityIdentity在类Level上分配Permissions。

symfony3 的 ACL 父/子关系是否意味着做这些事情?

感谢您的任何帮助,并且很乐意提供一些详细的文档!

谢谢!

【问题讨论】:

标签: inheritance acl symfony


【解决方案1】:

PermissionGrantingStrategy 首先检查所有对象范围的 ACE。如果不适用,则将检查类范围的 ACE。如果不适用,则将使用父 ACL 的 ACE 重复该过程。如果不存在父 ACL,则会引发异常。 Process for Reaching Authorization Decisions

【讨论】:

    猜你喜欢
    • 2017-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 2018-02-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多