【发布时间】:2011-09-20 19:44:37
【问题描述】:
我已经阅读了几本不同的 Zend 书籍,其中 ACL 和 Auth 是使用组合实现的。它们通常涉及带有 preDispatch 方法的 Action Helpers,并在引导程序中注册。
现在,在到目前为止的所有编码中,我的每个控制器都执行相同的 ACL 和 Auth 方法。因此,我认为我不妨使用继承来完成此任务。我错过了什么吗?继承似乎更简单一些。
早些时候,我使用 Action Helpers 来避免将所有规则加载到 ACL 对象中。 (我只是将当前控制器注册为 ACL 资源,并为其添加规则)。
然而,当我开始集成 Zend Navigation 时,我发现我需要所有 ACL 规则(与控制器无关),才能确定向用户显示哪些菜单选项。
我猜想通过组合,我的 ACL 和 Auth 助手更容易在其他项目中使用,但这对我来说只是一个很小的好处。
谢谢!
【问题讨论】:
-
您也可以使用控制器插件,请参阅stackoverflow.com/questions/4943940/… 似乎是一个组合,但非常接近控制器的继承。这并不妨碍您拥有可用于菜单的 Zend_Acl 对象。
-
不错的一个regilero。您想将其剪切/粘贴到答案中吗?到目前为止,这是我最喜欢的。
标签: zend-framework acl authentication