Я пытаюсь аутентифицировать пользователя в своем приложении. Если пользователь не прошел проверку подлинности, что я пытаюсь сделать следующий кодПочему мой код ответа 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);
Почему я не в состоянии получить код 401
ответа HTTP, как определено в приведенном выше коде?
Обратный контент возвращается, как ожидалось.
Попробуйте: $ this-> getResponse() -> setHttpResponseCode (401); , тогда отправьте свой ответ $ this -> _ helper-> json ($ result), где $ result - ответ и 401 - лучше для несанкционированного доступа. –
это делается в файле Module.php. Я не могу получить $ this-> getResponse() напрямую, и нет метода setHttpResponseCode() для getResponse(). –
эй @BhavikJoshi вы можете сказать, на какой версии zf2 вы работаете? – ins0