Symfony2-自定义授权/访问控制逻辑


Symfony2 - Custom authorization/access control logic

我们的系统允许无限级别的嵌套Company实体(域对象),每个User分配给一个公司。对于任何给定的用户,在其下的树中分配给某个公司的所有用户都由该用户管理权限。

每个User可以被分配给给定类的某些安全属性(即博客文章的ADD属性)以及给定类的对象的安全属性(例如博客文章X上的EDIT属性)。在公司树中,这些属性之上的任何用户都应该可以使用这些属性。

这种结构似乎不太适合默认的安全角色或Symfony ACL系统。

创建访问控制条目(ACE)为每个有权访问对象的用户分配权限似乎效率低下,而且考虑到上述用户结构的复杂性,将访问权限分配给特定角色的所有用户将很麻烦。

有没有一种方法可以使其适合SecurityIdentityInterface的自定义实例,或者我应该使用自定义安全投票者?

fosuserbundle将是您的解决方案

fosuserbundle

和symfony acl