Комментарии

Подключаемый модуль аутентификации
( 0 Голосов )

Этот подключаемый модуль выполняется при входе пользователя на веб-сайт. Он проверяет достоверность имени и пароля пользователя. Это один из трех подключаемых модулей аутентификации, включенных в основной вариант распространения Joomla, и он реализует способ, используемый по умолчанию для проверки пользователей веб-сайта Joomla. Рассматриваемый здесь подключаемый модуль находится в файле plugins/authentication/joomla/joomla.php, а имя его класса — plgAuthentication Joomla.

Как запускается подключаемый модуль аутентификации?
При попытке пользователя войти на веб-сайт Joomla вызывается на выполнение метод authenticate () из класса JAuthentication, находящегося в файле libraries/joomla/user/authentication.php. Как и предполагалось, в этом методе присутствует следующая строка кода:

$plugins = JPluginHelper::getPlugin('authentication');
В этой строке кода все подключаемые модули аутентификации загружаются в рабочую область памяти. Далее в данном методе выполняется следующий цикл fоreach:

foreach ($plugins as $plugin)
{
$className = 'pig'.$plugin->type.$plugin->name;
if (class_exists($className)) {
$plugin = new $className($this, (array)$plugin);
}
else {
// выйти, если нельзя создать объект подключаемого модуля
JError::raiseWarning(50, JText::sprintf(
'JLIB_USER_ERROR_AUTHENTICATION_FAILED_LOAD_PLUGIN', $className)); continue;
}
// попытаться произвести аутентификацию
$plugin->onUserAuthenticate($credentials, $options, $response);

В приведенном выше цикле любые активизированные подключаемые модули проверяются по очереди на наличие в них классов с заданным именем. Если активизированный подключаемый модуль отсутствует, цикл завершается выдачей соответствующего сообщения об ошибке. А если все классы существуют, выполняется последняя строка кода, в которой для каждого подключаемого модуля запускается на выполнение метод onUserAuthenticate ().

Обратите внимание на то, что этому методу передаются три аргумента: $credentials, $options, $response. Более подробно они рассматриваются в следующем подразделе.


Понравился материал? Пригодилась информация? Плюсани в социалки!


 
Похожие новости