具有ACL的Symfony2组权限

mok*_*gio 9 acl user-permissions symfony fosuserbundle

在我工作的地方,我们正在设计一个webapp,其中用户可能属于多个组,并且每个组都可以访问高级未知的一组资源.此外,用户可以进入或离开组和组可以获取或失去对资源的访问权限,因此整个权限授予系统需要是动态的.

我们正在使用Symfony2和FOSUserBundle.

我们喜欢ACL系统的工作方式,但我们找不到将其应用于Group对象的方法.

有没有人用Symfony做过类似的事情?或者您对如何以其他方式实施它有任何建议吗?

Cha*_*ase 6

根据cookbook,您可以使用RoleSecurityIdentity而不仅仅是UserSecurityIdentity.因此,根据我的理解,你的角色就是你的团队.我现在正在处理类似的问题.如果已经用它做了一点,我试试用一些代码片段来更新它.

但是现在看看:http://symfony.com/doc/current/cookbook/security/acl_advanced.html

编辑:

我们走向另一个方向,而是通过每个控制器动作系统的许可更多.因此,使用注释为每个控制器操作分配一个权限名称.

#SomeDomain/SomeBundle/Controller/SomeController.php
/**
 * @Permissions(perm="some.name.for.the.node")
 */
 public function indexAction(){ ... }
Run Code Online (Sandbox Code Playgroud)

然后我们有一个权限包,其中包含一个服务,该服务在调用控制器函数时检查权限.我们的管理员将获得一个GUI,允许他们管理组将拥有的权限和个人用户.

看看这个启发我们正在做的事情的要点:https://gist.github.com/1391850

我知道这不是你正在寻找的acl系统,但只是想我会更新我们正在做的事情.