Почему мой код ответа http не возвращается в ZF2?

Я пытаюсь аутентифицировать пользователя в моем приложении.
Если пользователь не аутентифицирован, я пытаюсь сделать следующий код

$eventManager = $e->getApplication()->getEventManager();
$eventManager->attach(MvcEvent::EVENT_ROUTE, function($e) use ($app) {
$response = $e->getResponse();
$response->setStatusCode(401);
$response->setContent(json_encode(array(
'message' => 'You are not authorised for this request',
'name' => 'Status Forbidden'
)));
$app->getEventManager()->trigger(MvcEvent::EVENT_DISPATCH_ERROR, $e);
return $response;
}, PHP_INT_MAX);

Почему я не могу получить код ответа http 401 как определено в коде выше?

Содержание ответа возвращается, как и ожидалось.

0

Решение

Попробуйте отправить ответ, прежде чем вернуть его и вызвать событие. Я думаю, что это возможно, когда триггер вызова, код ответа и содержание заменяются.

$response->sendResponse();
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]