Залогинить пользователя по id
Здравствуйте! В modx совсем недавно, поэтому извините, если что.
На примере статьи modx.pro/development/3156-processors-in-modx/ реализован вход с использованием данного процессора:
Возможно ли (и как по уму?) осуществить вход пользователя по его id (без ввода пароля) в контексте web?
Для примера, на вордпрессе есть функция wp_set_current_user, которая позволяет изменить ID текущего пользователя. Есть ли что-то подобное на modx?
На примере статьи modx.pro/development/3156-processors-in-modx/ реализован вход с использованием данного процессора:
$modx->runProcessor('/security/login', $data);Но в данном процессоре использование пароля обязательно. Возможно ли (и как по уму?) осуществить вход пользователя по его id (без ввода пароля) в контексте web?
Для примера, на вордпрессе есть функция wp_set_current_user, которая позволяет изменить ID текущего пользователя. Есть ли что-то подобное на modx?
Комментарии: 5
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
на 145 строке github.com/modxcms/revolution/blob/master/core/model/modx/processors/security/login.php#L145 есть интересное условие, внутри которого проверяется пароль. А повлиять на условие, судя по коду, можно в плагине на события OnManagerAuthentication или OnWebAuthentication
Перевод:
внутри данного события разработчик может проверить переданные параметры, что заменит обычную проверку пароля и позволит продолжить процесс входа.
Нашел решение такое:
— дублировал файл login.php, убрав проверки, которые возвращали ошибки при отсутствии пароля;
— разместил получившийся файл в папке _build в model/proj/processors/security/login.php;
— изменил вызов процессора, указав в переменной $processors_path путь до папки processors: