2012-08-16 67 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