Laravel: Как сделать недействительными все сеансы пользователя из redis и выйти из всех устройств? - PullRequest
0 голосов
/ 24 января 2020

Приложение, использующее сеансы на основе Redis с Laravel 5.2.

Необходимо выйти из системы со всех устройств, для этого используйте Session :: getId () для получения идентификатора сеанса и сохранения в базе данных по идентификатору пользователя. Подход заключается в том, чтобы уничтожить все пользовательские сеансы c из Redis DB, которые принимают текущие сеансы, вошедшие в систему, путем сохранения всех пользовательских сеансов в базе данных.

Когда я получаю идентификатор сеанса пользователя из Redis-CLI KEY '[value]', значение ключа не соответствует идентификатору, который выбирается с помощью Session::getId(). Для этого не удалось выйти из системы со всех устройств.

Мне нужно уничтожить пользователей во всех сеансах из Redis, чтобы все подключенные устройства были отключены.

Пожалуйста, помогите мне, как я могу уничтожить весь сеанс пользователя из базы данных Redis, поскольку значение Session::getId() и ключ Redis-CLI [значение] не совпадают.

1 Ответ

0 голосов
/ 24 января 2020

Laravel поставляется с функцией, которая регистрирует пользователя на каждом устройстве, кроме того, которое он использует в настоящее время:

use Illuminate\Support\Facades\Auth;

Auth::logoutOtherDevices($password);

Подробнее

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...