我已經閱讀了幾個不同的Zend書籍,其中ACL和身份驗證使用組合實現。他們通常涉及動作助手與preDispatch方法,在引導程序中註冊。Zend:ACL和身份驗證通過繼承,而不是作文
現在,在迄今爲止的所有編碼中,爲我的每個控制器執行相同的ACL和Auth方法。因此,我想我可能也會使用繼承來實現這一點。我錯過了什麼嗎?繼承似乎更直接一點。
之前我使用動作助手來避免必須將所有規則加載到ACL對象中。 (我只是將當前控制器註冊爲ACL資源,併爲其添加規則)。但是,當我開始整合Zend導航時,我發現我需要所有的ACL規則(不考慮控制器),以便確定向用戶展示哪些菜單選項。
我想,在構圖方面,我的ACL和Auth助手更容易在其他項目上使用,但這對我來說只是一個小小的好處。
謝謝!
您也可以使用控制器插件,請參閱http://stackoverflow.com/questions/4943940/using-zend-auth-to-secure-all-controllers/4944672#4944672看起來像一個組合,但非常接近繼承的控制器。這並不妨礙你有一個Zend_Acl對象可用於菜單。 – regilero
不錯的一個regilero。你想剪切/粘貼到答案?迄今爲止,這是我的最愛。 –