Есть много сообщений, связанных с тем, что я прошу, но после долгих поисков не удалось найти то, что я искал, извините, если это существует где-то.Перенаправляющие запросы образуют общий контроллер в Zend Application без циклического завершения
Моя цель - ВСЕ запросы к моему Zend-приложению должны проходить через плагин preDispatch, а затем перейти к настраиваемому контроллеру Auth, который будет определять, достаточны ли существующие учетные данные для требуемой операции. «Достаточно» зависит от логики приложения, поэтому я хочу сделать это на уровне контроллера + модели. Если они достаточны, они отправляют исходный запрос вместе с указанным контроллером + действием, если они по умолчанию не выполнят действие «потеряться».
В настоящее время я использую собственный настраиваемый плагин auth в preDispatch, чтобы просто проверить аутентификационные данные POST'а (если мы входим в систему), тогда во всех случаях плагин хранит исходный запрос и перенаправляет всех (auth «d или нет) на мой контроллер AUTH, а-ля:
$request->setModuleName('default')
->setControllerName('auth')
->setActionName('check')
->setParam('oreq',$request->getParams());
Моя проблема/вопрос заключается в том, что в моем auth-> проверка действия, как я должен выполнить перенаправление после принятия решения? Если я использую:
$this->_helper->redirector($or['action'], $oreq['controller']);
, то я, очевидно, получить бесконечный цикл, так как эти запросы снова пройти через плагин preDispatch. Конечно, я могу передать что-то с перенаправлением, чтобы плагин Auth игнорировал такие запросы, но это явно дыра в безопасности. Я подумал о том, может ли генерировать и хранить хеш-память md5, сохраняя ее на сеансе и передавая ее как параметр escape, но это кажется немного отрывочным.
Какие-нибудь лучшие идеи? Возможно, метод перенаправления, который не проходит стандартную процедуру предварительной обработки в Zend App? Заранее спасибо!
Вы - звезда, большое спасибо. – Dan
fyi, _forward делает поток через отправку – Dan