0
Я хочу вернуть код состояния 403 из модуля.php всякий раз, когда сбой авторизации. Я искал и узнал, что мне нужно подключить слушателя к этому файлу.Всегда возвращает код состояния 200 из модуля.php
Я стараюсь делать это таким образом. Но я получаю 200, даже если я устанавливаю statusCode на 500. См. Код ниже.
$em = $e->getApplication()->getEventManager();
// Authorize API call
$auth = $this->authorize($e->getApplication()->getServiceManager());
if(!auth)
{
$app = $e->getApplication();
$em->attach(MvcEvent::EVENT_ROUTE, function($e) use ($app) {
$response = $e->getResponse();
$response->setStatusCode(500);
$response->setContent(json_encode(array(
'message' => 'You are not authorized for this request',
)));
return $response;
}, PHP_INT_MAX);
}
У вас есть этот код в вашем методе 'onBootstrap', и вы уверены, что модуль включен в вашем application.config.php? –
да этот код в onBootstrap метод. и я думаю, что если он отключен, он тоже не даст этого сообщения. – keen
- ваша версия zf2 в последней стабильной версии? приведенный выше код дает мне ожидаемые результаты в моем приложении. или, может быть, какой-то другой пользовательский компонент испортил код ответа ?! – ins0