Как выйти из системы администратора пользователя (сотрудника) из бэк-офиса в Prestashop 1.7?
Я разрабатываю модуль для PrestaShop, и мне нужно выйти из пользователя (сотрудника) из бэк-офиса. Я вижу в коде задней части, что они делают это с помощью
// Find employee
$this->context->employee = new Employee();
$this->context->employee->getByEmail($email, $passwd);
$this->context->employee->logout();
Но я не могу использовать его в своей области модуля, так как мне нужно будет перехватить учетные данные из формы входа в бэк-офис, чтобы создать правильную ссылку на сотрудника, но я не могу найти способ, как это сделать. Есть ли какие-либо способы получить эти учетные данные или выйти из системы пользователя другим способом?
P.S. Перехват учетных данных пользователя, прежде чем он войдет в систему, и блокирование его входа до определенного момента также удовлетворит мои потребности, но это звучит намного сложнее, и я также не могу найти способ сделать это.
Ответы - Как выйти из системы администратора пользователя (сотрудника) из бэк-офиса в Prestashop 1.7? / How to log out an admin user (employee) from back office in Prestashop 1.7?

15.11.2018 05:53:47
Этого кода достаточно, чтобы отключить сотрудника:
$this->context->employee->logout();
Но, как вы можете видеть, это в контексте, что означает, что код должен быть выполнен от сотрудника, которого вы хотите отключить, потому что сеанс сохраняется в локальном файле cookie сотрудника, другими словами, вы не можете удаленно отключиться от сотрудника, но вы можете использовать крючок displayBackOfficeHeader, который вызывается на каждой странице просмотра, а затем отключает сотрудника, например:
public function hookDisplayBackOfficeHeader()
{
// My validation to disconnect the employee I want
if ($id_employee == 1) {
$this->context->employee->logout();
Tools::redirectAdmin('index.php');
}
}
