3
我已经宣布观察员为controller_action_postdispatch事件。 在excecute方法中,我检查客户是否登录。如果不是,他应该重定向到登录页面。Magento 2.0如何在观察者中重定向
public function execute(\Magento\Framework\Event\Observer $observer)
{
# check if user is logged in
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$customerSession = $this->objectManager->get('Magento\Customer\Model\Session');
if(!$customerSession->isLoggedIn())
{
$request = $this->objectManager->get('Magento\Framework\App\Request\Http');
if(strpos($request->getPathInfo(), '/customer/account/') !== 0)
{
# redirect to /customer/account/login
}
}
}
如何将客户端重定向到另一个URL?
不推荐对象管理的使用测试这一点。同意 –
请编辑答案。 –
哦,我不知道我可以这样做 - :) –