我正在使用zend_acl來管理我的web應用程序中的ACL列表。 爲了能夠顯示'管理權限'對話,我需要爲以下組合定義規則的可能性:
- 爲特定資源上的特定角色設置的規則
- 爲角色設置的所有規則一個特定的資源(誰擁有這個權限)
- 爲任何資源上的特定角色設置的所有規則(該角色擁有哪個權限)
要能夠顯示完整列表,必須始終存在附加列表,其中包含從父角色/資源繼承的規則。Zend_ACL中的列表規則
你有什麼想法如何解決這個問題嗎?
我正在使用zend_acl來管理我的web應用程序中的ACL列表。 爲了能夠顯示'管理權限'對話,我需要爲以下組合定義規則的可能性:
- 爲特定資源上的特定角色設置的規則
- 爲角色設置的所有規則一個特定的資源(誰擁有這個權限)
- 爲任何資源上的特定角色設置的所有規則(該角色擁有哪個權限)
要能夠顯示完整列表,必須始終存在附加列表,其中包含從父角色/資源繼承的規則。Zend_ACL中的列表規則
你有什麼想法如何解決這個問題嗎?
您可以檢索的所有角色和資源這樣
$acl = new Application_Model_Acl();
$acl->getRegisteredRoles(); // roles instances
$acl->getRoles(); //array
$acl->getResources(); //array
我認爲你必須擴展爲Zend_Acl裏「每個角色註冊的資源」獲取。
如果該項目是如此「擴展」,通常情況下,我產生的Acl dinamically從數據庫中,但我在我身邊
創建Zend_Acl中擴展概述我們創建了一個表,其中水平是資源,vertcally角色(收到MiPnamic建議)。在桌子的正文中有零個(允許,否認)。它工作正常。
剛剛開始,getRegisteredRoles從版本1.10開始已被棄用,getRoles是它的替代品。 – 2011-03-31 17:19:31
哦,很高興知道,謝謝Jeff – MiPnamic 2011-03-31 20:59:08
謝謝MiPnamic,我會這樣做 – Quest 2011-05-10 08:47:11