Обработка аутентификации и доступа членов в приложении Zend Framework - PullRequest
0 голосов
/ 01 марта 2012

Я работаю над переносом устаревшего приложения PHP на Zend Framework. Предполагается, что это приложение Facebook, где аутентификация выполняется через Facebook. У меня есть вопрос, связанный с обработкой объекта-члена после аутентификации члена.

В настоящее время я инициализирую объект класса-члена в Bootstrap.php и назначаю его объекту в Zend_Session. Затем я получаю доступ к сеансу везде, где мне нужен объект-член для любой обработки (например, в контроллере для вызова методов в модели-члене и назначения данных, возвращаемых объекту представления)

Это рекомендуемый способ делать вещи? Если нет, я был бы признателен, если бы кто-то указал мне правильное направление.

Satyam

1 Ответ

1 голос
/ 01 марта 2012

Как правило, можно использовать Zend_Auth и адаптер аутентификации для хранения вашего объекта-члена в хранилище сессий Zend_Auth синглтона, который вы можете проверить / получить доступ через (скажем, в контроллере):

$auth = Zend_Auth::getInstance();
if ($auth->hasIdentity()){
    $member = $auth->getIdentity();
    $this->view->name = $member->getName(); 
}

Сам процесс аутентификации включает создание адаптера аутентификации $adapter, заполнение его учетными данными, предоставленными пользователем, и проверку результата:

Zend_Auth::authenticate($adapter);

Подробнее в Zend_Authdocs .

Также обратите внимание, что если у вас есть какой-либо модуль или контроллер, требующий входа для доступа, вы можете поместить этот проверочный код в плагин фронт-контроллера с routeShutdown($request) крючокЕсли запрос относится к защищенному контроллеру, а пользователь не вошел в систему, то перенаправьте на страницу входа.Просто зарегистрируйте плагин во время начальной загрузки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...