невозможно перенаправить на страницу 403 в magento 2 - PullRequest
0 голосов
/ 05 сентября 2018

Привет, ребята. Я пытаюсь ограничить клиентов на внешнем интерфейсе в зависимости от географического местоположения. Вопрос в том, когда я пытаюсь отправить код состояния 403 от наблюдателя, используя $observer->getControllerAction();, он возвращает ноль. Пожалуйста, посмотрите на код, который я использовал. Любая помощь высоко ценится.

  protected function denyAccess($observer)
    {
       $action = $observer->getControllerAction();
       $response = $action->getResponse();
       $response->clearBody()->setStatusCode(\Magento\Framework\App\Response\Http::STATUS_CODE_403);
    $this->actionFlag->set('', \Magento\Framework\App\Action\Action::FLAG_NO_DISPATCH, true);
    }

enter image description here

1 Ответ

0 голосов
/ 06 сентября 2018

Я нашел решение для вышеуказанной проблемы, так как метод getControllerAction возвращает NULL, из-за чего дальнейший процесс не работал. Мне пришлось использовать приведенный ниже код, и все работало нормально.

    protected function denyAccess($observer)
{
    $response = $observer->getResponse();
    $response->clearBody()->setStatusCode(\Magento\Framework\App\Response\Http::STATUS_CODE_403);
    $this->actionFlag->set('', \Magento\Framework\App\Action\Action::FLAG_NO_DISPATCH, true);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...