Принудительное разлогинивание пользователя после смены пароля

Всем привет!
Использую Office для ЛК. Хочу после того, как пользователь сменил пароль — принудительно его разлогинивать на всех устройствах.Насколько мне известно, по умолчанию, office позволяет пользователю перемещаться и совершать действия после смены пароля до следующего входа.
Буду благодарен за любой совет и подсказку. Пока думаю о процессоре $modx->runProcessor('/security/logout') и где его вызывать
Ilya Gureshidze
11 декабря 2018, 16:46
modx.pro
1 345
0

Комментарии: 4

tolanych
11 декабря 2018, 22:08
+1
Насчет внутреннего устройства Office не подскажу, мб там и есть такая возможность.

как идея (сам не проверял) — написать плагин на событие авторизации и при каждой авторизации добавлять в extended-поле user-а текущую id_session.

$extended = $profile->get('extended');
$extended['sess_list'][] = текущий id сессии;
$profile->set('extended', $extended);
$profile->save();
На событие смены пароля доставать из extended-поля все id_session и удалять их из таблицы _session
    Павел Гвоздь
    12 декабря 2018, 09:17
    +1
    Вешайте на событие плагина OnUserChangePassword что-то вроде:
    $user->endSession();
    Office, насколько помню, поддерживает это событие через расширение нативного процессора апдейта юзера.
      Володя
      12 декабря 2018, 10:59
      0
      это затронет только текущего пользователя. Другого пользователя под таким же логином это никак не коснется.
      рабочий вариант с записью идентификатора сессии при авторизации/ смене пароля и его проверке при загрузке страницы как предложил толяныч выше.
        Павел Гвоздь
        12 декабря 2018, 11:27
        0
        К сожалению, да. Решается только костылями.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      4