Я установил простой модуль ACL в качестве плагина контроллера. Теперь я хотел бы реализовать «стратегию рендеринга 403», так что для «deny» я просто задал ответ 403, и представление «error/403» из шаблона будет отображаться. Функциональность должна соответствовать оригинальной стратегии 404.Есть ли простое решение для реализации стратегии рендеринга 403 в Zend Framework 2?
Я взглянул на Zend\Mvc\View\Http\RouteNotFoundStrategy
, но нашел это немного избыточным весом. Есть ли более простой способ сделать это?
Перед тем, как задать вопрос, вы заглянули в BjyAuthorize (https://github.com/bjyoungblood/BjyAuthorize/)? Это довольно полно и предоставляет вам достойную несанкционированную стратегию ... – Ocramius
@ Окрамиус да, я сделал. Это довольно хорошо, и я думаю, что это решит проблему. Но может быть есть другое (меньшее) решение? Как и в ZF1 - там вы можете просто изменить контроллер и действие в запросе, и 403 будет поднят. – Toni
В ZF2 исключения приложений могут обрабатываться через прослушиватели, подключенные к одному из событий «Zend \ Mvc \ MvcEvent :: EVENT _ * _ ERROR» в менеджере событий Zend \ Mvc \ Application. Простое закрытие тоже будет работать: '$ app-> getEventManager() -> attach ('dispatch.error', function() { die ('application error!'); );' – Ocramius