Дополнительный функционал

22 июля 2017, 16:02

Помимо модульной архитектуры и контроллеров, Office добаляет и несколько приятных мелочей в систему.

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

Вы можете авторизоваться под любым активным пользователем прямо из админки.

Для этого добавлен пункт в меню пользователя:

И кнопка на панели редактирования пользователя:

  • Авторизация всегда происходит в новом окне, текущее окно менеджера не закрывается.
  • Скрипт пытается авторизоваться во всех контекстах.
  • Вы можете использовать прямые ссылки на авторизацию, вида
    http://your.site/?action=office/login_as&user_id=4

    или даже

    http://your.site/any/page/?action=office/login_as&user_id=2&any_key=value

    Такие ссылки обрабатываются плагинами Office, так что их можно указывать на любую страницу.

Завершение сеанса неактивного пользователя

Есть такая проблема в MODX, что при блокировке или деактивации пользователя, его сессия остаётся активной и он даже не подозревает, что его отключили.

Office автоматически решает эту проблему, завершая сессию такого пользователя при первом же запросе любой страницы.

Переключение аккаунтов

В версии 1.6 появился функционал авторизации в несколько аккаунтов с возможностью переключения между ними

При такой дополнительной авторизации вы входите в аккаунт нового юзера, но старые аккаунты остаются в сессии $_SESSION['Office']['LoggedIn'], после чего вы можете переключаться между ними ссылкой вида:

https://your.site/?action=auth/change&user_id=4

Вы можете отключить такой аккаунт ссылкой

https://your.site/?action=auth/logout&user_id=4

Ну а сама авторизация работает как обычная форма авторизации, за исключением:

  • действие там auth/formAdd, вместо auth/formLogin
  • при незаполненном пароле будет ошибка, вместо отправки письма для сброса.

Если вы выходите из текущего аккаунта, но у вас есть и другие авторизации, то вы будете переключены на одну из них.

При авторизации под другим юзером из админки, он также попадает в этот массив дополнительных юзеров, и админ не теряет свою авторизацию.

А если такой аккаунт сменит свой пароль, то переключиться на него вы уже не сможете, потребуется повторная авторизация. Это защита на тот случай, когда, например, один пользователь даёт свой сайты под управление другому, а потом вдруг передумывает.


Предыдущий документ
Логика работы
Следующий раздел
Контроллеры