- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想覆盖 Mage_Core_Controller_Front_Action
将 ACL 检查添加到所有前端 Controller 操作,类似于在 Mage_Adminhtml_Controller_Action::preDispatch()
中完成的方式使用 Mage_Adminhtml_Controller_Action::_isAllowed()
.
我已经能够创建一个 PackageName_ModuleName_Controller_Front_Action
成功扩展 Mage_Core_Controller_Front_Action
,包含并从任何 Controller 使用它,但是,此方法要求我现在扩展我想要添加 ACL 的每个 Magento 前端 Controller ,以便让它们使用我的新 Front_Action。如果我想要一个拒绝,允许优先级策略设置,那是很多压倒一切的。
如果有人知道如何以更有效的方式正确扩展这个类,它肯定会派上用场,否则我想我可以在允许、拒绝优先级上工作,但这对于我的用例来说仍然是很多优先事项。
最佳答案
而不是覆盖 Mage_Core_Controller_Front_Action
(正如您所提到的,如果不覆盖基于此类的每个前端 Controller ,这几乎是不可能的),您可以在 controller_action_predispatch
上放置一个观察者事件,并使用 controller_action
随它发送的值(实际上应该在前端 Mage_Core_Controller_Front_Action
的当前实例)。
关于Magento:如何覆盖 Mage_Core_Controller_Front_Action,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17680604/
我想覆盖 Mage_Core_Controller_Front_Action将 ACL 检查添加到所有前端 Controller 操作,类似于在 Mage_Adminhtml_Controller_A
我是一名优秀的程序员,十分优秀!