2011-03-30 63 views
2

我正在使用zend_acl來管理我的web應用程序中的ACL列表。 爲了能夠顯示'管理權限'對話,我需要爲以下組合定義規則的可能性:
- 爲特定資源上的特定角色設置的規則
- 爲角色設置的所有規則一個特定的資源(誰擁有這個權限)
- 爲任何資源上的特定角色設置的所有規則(該角色擁有哪個權限)
要能夠顯示完整列表,必須始終存在附加列表,其中包含從父角色/資源繼承的規則。Zend_ACL中的列表規則

你有什麼想法如何解決這個問題嗎?

回答

2

您可以檢索的所有角色和資源這樣

$acl = new Application_Model_Acl(); 
$acl->getRegisteredRoles(); // roles instances 
$acl->getRoles(); //array 
$acl->getResources(); //array 

我認爲你必須擴展爲Zend_Acl裏「每個角色註冊的資源」獲取。

如果該項目是如此「擴展」,通常情況下,我產生的Acl dinamically從數據庫中,但我在我身邊

+1

剛剛開始,getRegisteredRoles從版本1.10開始已被棄用,getRoles是它的替代品。 – 2011-03-31 17:19:31

+0

哦,很高興知道,謝謝Jeff – MiPnamic 2011-03-31 20:59:08

+0

謝謝MiPnamic,我會這樣做 – Quest 2011-05-10 08:47:11

0

創建Zend_Acl中擴展概述我們創建了一個表,其中水平是資源,vertcally角色(收到MiPnamic建議)。在桌子的正文中有零個(允許,否認)。它工作正常。