2

我想重写Mage_Core_Controller_Front_Action以将 ACL 检查添加到所有前端控制器操作,类似于Mage_Adminhtml_Controller_Action::preDispatch()使用Mage_Adminhtml_Controller_Action::_isAllowed().

我已经能够创建一个PackageName_ModuleName_Controller_Front_Action成功地Mage_Core_Controller_Front_Action从任何控制器扩展、包含和使用它,但是,这种方法需要我现在扩展我想要添加 ACL 的每个Magento 前端控制器,以便让它们使用我的新 Front_Action。如果我想要一个拒绝、允许优先级策略设置,那就太重要了。

如果有人知道如何以更有效的方式正确扩展这个类,它肯定会派上用场,否则我想我可以处理允许、拒绝优先级,但这对于我的用例来说仍然是一个很大的覆盖范围。

4

1 回答 1

3

您可以在事件Mage_Core_Controller_Front_Action上放置一个观察者,并使用随它发送的值(实际上应该是在前端的当前实例)。controller_action_predispatchcontroller_actionMage_Core_Controller_Front_Action

于 2013-07-16T15:35:12.707 回答