Авторизация в админке с фронтенда

Разбираю старые плагины на bezumkin.ru, и наткнулся на небольшой lifehack - вроде еще не публиковал.
В общем, если на сайте есть авторизация, и вы работаете юзером, который состоит в группе админов, можно авторизовать его и в админку.
Это делается очень просто:

if ($modx->event->name == 'OnWebPageInit') {
    if (!$modx->user->hasSessionContext('mgr') && $modx->user->isMember('Administrator')) {
        $modx->user->addSessionContext('mgr');
    }
}
Всего 5 строк, и в админку можно входить с фронтенда через HybridAuth.

4 комментария

Саша Пекшев
не совсем понял на какое событие ставить этот плагин OnWebLogin и OnWebAuthentication, не работает
Василий Наумкин
Попробуй угадать еще раз
if ($modx->event->name != 'OnWebPageInit') {
Саша Пекшев
я думал об этом, но знак "!=" меня насторожил и мне показалась это предосторожность. Но поставив на == все заработало спасибо
Василий Наумкин
Да, ты прав - это была опечатка =(
bezumkin.ru
Personal website of Vasily Naumkin
Прямой эфир
Василий Наумкин
01.07.2024, 11:56:41
Да, верно, именно так. А в контроллере, скорее всего, ловить данные методом post.
Василий Наумкин
26.06.2024, 09:38:15
О, точно, вылезает если не залогинен. Спасибо, исправил!
Василий Наумкин
09.04.2024, 04:45:01
> Ошибка 500 Это не похоже на ошибку Nginx, это скорее всего ошибка PHP - надо смотреть его логи. ...
Futuris
04.04.2024, 08:56:12
Я просто немного запутался. Когда в абзаце "Vesp/Core" ты пишешь про "новый trait FileModel", я поду...
Василий Наумкин
20.03.2024, 21:21:52
Volledig!
Андрей
14.03.2024, 13:47:10
Василий! Как всегда очень круто! Моё почтение!
russel gal
09.03.2024, 20:17:18
> А этот стоило написать хотя бы затем, чтобы получить комментарий от юзера, который ничего не писал...
Александр Наумов
27.01.2024, 03:06:18
Василий, спасибо! Извини, тупанул.
Василий Наумкин
22.01.2024, 07:43:20
Давай-давай!
Василий Наумкин
24.12.2023, 14:26:13
Спасибо!