2012-08-16 92 views
9

我在哪里工作,我们正在设计中用户可能属于多个组 web应用程序,每个组有一组先进的未知资源的访问。另外,用户可以进入或离开组,并且组可以获取或失去对资源的访问权限,因此整个权限授予系统需要是动态的。Symfony2的组权限与ACL

我们使用Symfony2和FOSUserBundle。

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

有没有人用Symfony做过这样的事情?或者你有任何关于如何以其他方式实施的建议?

回答

6

根据食谱,您可以使用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(){ ... } 

然后我们有一个权限捆绑包和一个服务,当一个控制器函数被调用时会检查权限。我们的管理员将获得一个GUI,这将允许他们管理组和个人用户的权限。

看看这个要点,启发我们在做什么:https://gist.github.com/1391850

林意识到了这个心不是你要找的ACL系统,但只是以为我会与我们正在做什么更新。

+0

你好!感谢您的关注:)期待的片段 – mokagio 2013-01-12 22:43:41

+0

更新了我的答案,对不起,它可能不是你要找的。 – Chausser 2013-01-15 01:41:07