Я недавно добавил модуль администратора в свое приложение. Это приложение имеет отдельную аутентификацию от основного сайта (инструменты администрирования могут позже использоваться на разных сайтах для разных приложений, а пользователи администратора хранятся в отдельной таблице), и это вызывает проблемы. Из-за одноэлементной природы Zend_Auth я перезаписываю свой экземпляр Zend_Auth в критические моменты и взрываю свое приложение. Итак ...
Я хотел бы попытаться определить, какой модуль запрашивается в начальной загрузке, и загрузить только соответствующий плагин фронт-контроллера. Есть ли способ определить, какой модуль запрашивается в этой точке выполнения, или есть лучшее решение? Как? Ниже приведен метод начальной загрузки для инициализации плагинов фронт-контроллера.
защищенная функция _initFrontControllerPluginWithOptions ()
{
$ This-> самозагрузки (массив ( 'FrontController',
'ResourceLoader',
«Сессии»,
));
//get site specifics
$sessionInfo = $this->getOption("resources");
if ($namespace = $sessionInfo['session']['name']) {
$data = array("cookieName" => $namespace);
} else {
throw new Exception("Authplugin can't find session namespace");
}
$frontController = $this->getResource("frontController");
//register plugins
$frontController->registerPlugin(new GS_Admin_Plugin_Auth_Admin($data));
$frontController->registerPlugin(new GS_Model_Plugin_Auth_User($data));
}